SEMESTER VIII
CS 801 Advanced Architecture and Parallel Processing
Module I. Introduction to Parallel Processing-Shared Memory Multiprocessing-Distributed Memory-Parallel Processing Architectures- Introdution-Parallelism in sequential Machines—Abstract Model of Parallel Computer – Multiprocessor Architecture- Array Processors.
Module II. Pipelining and Super Scalar Techniques-Linear Pipeline Processors-Non-Linear Pipeline processors-Instruction pipeline design-Arithmetic pipeline Design- Super Scalar and Super pipeline Design.
Module III. Programmability Issues-An Overview-Operating system support-Types of Operating Systems-Parallel Programming models-Software Tools-Data Dependency Analysis- Types of Dependencies-Program Transformations.
Module IV. Shared Memory Programming-Thread –based Implementation-thread Management-Attributes of Threads- Mutual Exclusion with Threads- Mutex Usage of Threads- Thread implementation-Events and Conditions variables-Deviation Computation with Threads-Java Threads Distributed Computing –Message Passing Model-General Model-Programming Model- PVM.
Module V. Algorithms for Parallel Machines- Debugging Parallel programming –Other Parallelism Paradigms -Distributed Data Bases-Distributed Operating Systems.
Text Books
1. Kai Hwang, “Advanced Computer Architecture: Parallelism, Scalability, Programmability”, McGRawHill International Edition, 1993.
2. M.Sasikumar, et.al., "Introduction to Parallel Processing", PHI,
References
1. P. Pal Chaudhuri , “Computer Organisation and Design”, PHI,
2. William Stallings, “Computer Organisation and Architechture”, PHI,
3. “Proceedings of Third International Conference on High Performance Computing”, IEEE, Computer Society
4. “Parellel Processing”, Learning Material Series, Indian Society for Technical Education,
5. V.Rajaraman, C. Siva Ram Murthy, "Parallel Computers Architecture and Programming", PHI,
CS 802 Artificial Intelligence
Module I. Introduction - Problem spaces and search - Production systems - Characteristics. Heuristic search techniques - Generate and Test - Hill climbing -Best fit. Graph search - A* algorithm. Problem reduction - constraint satisfaction - Means and End analysis. Gameplaying - Minimax - Alpha-beta cut-off.
Module II. Logic and Deduction. Introduction to symbolic logic - Propositional logic - Well Formed Formula. Predicate Logic - predicates variables and constants - First order logic,Quantifiers. Forward chaining and Unification. Goal trees. Resolution by refutation.
Module III. Natural Language Processing - Levels of language. Expressing rules of syntax. Context Free Grammars. Dictionaries. Transformational grammar. Syntactic parsing. Top Down and Bottom up parsing. Transition Networks. Augmented Transition networks.(ATN). Syntax to Semantics. Case grammar - Syntactic use of Semantic knowledge. Problems of parsing Indian languages.
Module IV. Representing Knowledge. Procedural versus Declarative. Reasoning under uncertainty - Nonmonotonic reasoning - Statistical reasoning. Bayesian networks. Expert systems.- representing and using Domain knowledge - Expert system shell. Fuzzy Logic - Fuzzy sets - Fuzzy model - Fuzzy rule generation - Fuzzy inference systems. Fuzzy rule based expert systems.
Module V. Learning - Formal theory of learning. Neural Net learning. Introduction to Artificial Neural networks -Perception - Multi-Layer perceptron - Back Propagation algorithm - Unsupervised learning - Kohonen’s Network. Neuro-Fuzzy systems. Typical Applications.
References
1) Akshar Bharati, Vineet Chaitanya, Rajeev Sangal, “Natural Language Processing: A Paninian Perspective”, Prentice Hall India Ltd.,
2) Dan W.Patterson, “Introduction to Artificial Intelligence and Expert Systems”, Prentice Hall India Ltd.,
3) Elaine Rich and Kevin Knight, “Artificial Intelligence”, Tata McGraw-Hill Publishing Company Ltd., New Delhi, 1990
4) Eugene Charmiak, Drew McDermott, “Introduction to Artificial Intelligence”, Addison Wesley ,
5) Nils J.Nillson, ‘Principles of Artificial Intelligence”, Morgan Kauffman Publishers Inc.,
6) Rober J,. Schalkoft, “Artificial Intelligence, An Engineering Approach”, McGraw-Hill Publishing company,
7) Winston, P.H., “Artificial Intelligence”, Addison Wesley Publishing House,
IT/CS 803 Internet Working
Module I. Introduction and overview – need for Internet – Internet architecture – Interconnection through IP gateways – TCP/IP layering – structure of TCP/IP software in an Operating system.
Module II. Network Interface Layer – Buffer management – Demultiplexing incoming packets – ARP : conceptual organization of ARP software – data structures for ARP cache – Input and Output processing – ARP cache management IP: IP software design – IP software organisation and datagram flow – IP: Routing – Routing table organisation – Data structures – Routing a datagram –ICMP message Formats – Implementation of ICMP messages.
Module III. TCP : Overview of TCP software – Transmission Control Blocks – TCP segment format - TCP finite state machine – Example State Transition – Declaration of the
Module IV. Client Server model and Software design – Concurrent processing in Client Server Software – Program interface to protocols – Socket interface – Algorithms and Issues in Client S/W design.
Module V. Algorithms and Issues in Server S/W design – Interactive connectionless Servers – Interactive connection oriented Server – Concurrent connection oriented Server Concurrency in Servers – Concurrency in Clients . Remote Procedure Call Concept – NFS concepts
Reference
1) Behrouz A.Farouzan, TCP/IP Protocol Suite, McGraw-Hill International Edition, 2000
2) Daniel Minoli, Internet and Intranet Engineering, Tata McGraw-Hill, 1999
3) Douglas E.Comer, Computer Networks and Internets, Prentice Hall, Second Ed., 1999
4) Douglas E.Comer, Internetworking with TCP/IP Volume II & III, Prentice Hall
CS 804 Distributed Computing
Module I. Distributed systems – architecture. Key characteristics – resource sharing openness –concurrency – scalability – fault tolerance – transparency. Design issues – naming – communication – software structure – workload allocation – consistency maintenance. User requirement – functionality – Quality of service – reconfigurability. Review of network protocols. Interprocess communication- building blocks – client server communication group communication. Interprocess communication in UNIX. Remote procedure calling. Design issues – interface definition language exception handling. Implementation - interface processing – communication handling. Binding. Case study – sun RPC – Java RMI.
Module II. Distributed Operating systems- kernel – processes and threads – Naming and protection - Communication and Invocation – virtual memory. Distributed file service - design issues – interfaces – implementation techniques. Case study sun NFS. Name service SNS and DNS.
Module III. Time and co-ordination. Synchronizing physical clocks -logical time and logical clocks. Distributed co-ordination –distributed mutual exclusion – elections. Replication – basic architectural model – consistency and request ordering.
Module IV. Shared data and transactions – client server – fault tolerance and recovery – transactions – nested transactions. Concurrency control - locks – optimistic concurrency control – timestamp ordering. Distributed transactions – atomic commit protocols – concurrency control in distributed transactions – distributed deadlocks – transactions with replicated data.
Module V. Recovery and fault tolerances. Transaction recovery – logging -shadow versions – fault model for transactions. Fault tolerance – characteristics. Hierarchical and group masking of faults. Security – authentication and key distribution – logic of authentication – digital signatures.
References
1) C.A.R.Hoare, “Communicating Sequential Processes”, Prentice Hall, 1980
2) Dimitri P.Bertsekas, John N.Tsitiklis, “Parallel and Distributed Computation : Numerical Methods”, Prentice Hall International, Inc., 1989
3) Douglas Comer and David L.Stevens, “Internetworking with TCP/IP Vol III: Client server Programming and Applications”,
4) George Coulouris, et. al., “Distributed Systems – Concepts and Design”, Second ed.,
5) Gerard Tel, “Introduction to Distributed Algorithms”,
6) H.S.M.Sedan, “Distributed Computer systems”, Butterworths,
7) Joel M.Crichlow, “Introduction to Distributed and Parallel Computing”, Prentice Hall,
6. M.Sasikumar, et.al., "Introduction to Parallel Processing", PHI,
Elective II
CS 805 (A) Electronic Commerce
Module I. Banking on the internet-investing on the internet-doing business on the internet-threats to e-commerce -e-commerce security
Module II. The web clients- introduction to JavaScript, vbscript-form validation - tables in html.
Module III. The web-server- Server side scritping , different technologies -Active server pagess(ASP) objects in ASP- perl - Java servlets request and response objects, cookies, mailing, database objects
Module IV. Secure channels-stored account payment systems-first virtual-cybercash -secure electronic transaction-stored value payment systems-pros and cons how e-cash works-securing e-cash-representing e-cash-e-cash-cyber coin-smart cards-mondex-visa cards.
Module V. Securing operating systems-firewall security-the network server vulnerabilities-defending the server -certifying components for security
References:
1. E-commerce security-Anup.K.Ghosh, Wily computer publishing
2. E-commerce, the cutting edge of business-kamalesh K bajaj, Debjani nag, TMH publishing
3. Active Server Pages-Unleashed-Sams Press
4. Web Commerce Technology, Daniel Minoly, Tata McGrawhill,
Elective II
CS 805 (B) Software Architecture
Module I. Software Architecture –Introduction-Architectural Styels-Pipes and Filters-Data Abstraction and Object Oriented Organization-Event based, Implicit Invocation-Layered Systems-Repositories-Interpreters-Process Control-Process control Paradigms-Software Paradigm for Process Control-Distributed processes-Main program / subroutine organizations – Domain – specific software architecture – heterogeneous architectures .
Module II. Shared Information Systems – Data base integration –Batch sequential – Simple Repository – Virtual Repository – Hierarchical Layers – Evolution of Shared Information Systems in Business Data Processing – Integration in Software Development Environments – Integration in Design of Buildings- Architectural Structures for Shared Information Systems.
Module III. Architectural Design Guidance- Guidance for User-Interface Architectures -Design Space and rules-Design Space for User Inter face Architectures-Design. Rules for User Interface Architecture applying the Design Space – Example – A Validation Experiment – How the Design Space Was Prepared .
Module IV. Value of Architectural Formalism – Formalizing the Architecture of a Specific System – Formalizing an Architectural Style – Formalizing an Architectural Design.Linguistic Issues – Requirements for Architecture - Description Languages - First Class Connectors – Adding Implicit Invocation to Traditional Programming Languages .
Module V. Tools for Architectural Design – UniCon : Universal Connector Language – Exploiting Style in Architectural Design Environments –Architectural Interconnection – Education of Software Architects.
Reference
Mary Shaw, David Garlan, "Software Architecture", Prentice Hall
Elective II
IT/CS 805 (C) Algorithms and Complexity
Module I
Review of concepts : Algorithms and Complexity – Models of computation – Sorting Algorithms and order statistics – set manipulation problems – Algorithms on graphs and digraphs – pattern matching algorithms-NP complete problems.
Module II
Dynamic Programming : Introduction-matrix multiplication and optimal binary search trees-approximate string matching-distances in graphs and digraphs.
Module III
Matrices and Fast Fourier Transforms : strassen algorithm – matrix inversion- decomposition- Boolean matrix multiplication-Fast Fourier Transform and applications.
Module IV
Integer and Polynomial arithmetic – integer and polynomial multiplication and division – modular arithmetic – Chinese remaindering –
Module V
Parallel Algorithms-Parallelism-PRAM and other models – PRAM and other models-PRAM algorithms – handling write conflicts- merging and sorting-parallel connected component algorithm – lower bounds.
References :-
1. Brassard G and Brately P Algorithmics : Theory and Practice, Prentice Hall, 1988.
2. Atho A V , Hopcroft J E and Ullman J D, The Design and Analysis of Computer Algorithms, Addison Wesley, 1974.
3. Melhron K, Data Structure and Algorithms, Volume II and III, Springer – Verlag, 1984.
4. Baase S, Computer Algorithms : Introduction to Design and Analysis (Second Edition), Addison Wesley, 1993.
Manber U , Introduction to Algorithms : A creative approach, Addison-Wesley, 1989.
CS 806 Major Project
CS 807 Viva Voce