Basic concepts
Definition of an "information plant". Communication and computation. Architecture of an information plant: components + interconnection network. Interconnection types(bus, switch, multistage). Component structure: functional unit + communication assist. Communication abstraction. Latency, bandwidth and cost. Communication cost: overhead, delay, contention, overlap. Communication frequency and replication. Technology trends in computer system and performance requirements. Types of parallelism.
Architectures of computing systems
Flynn taxonomy. Bus-based UMA architectures. Cache consistency. Split transaction bus. UMA architectures based on crossbar switch and Omega network. Multiprocessor operating systems. Symmetric Multi-Processing. Scalable multiprocessing. NUMA architectures. NC-NUMA. CC-NUMA: cache consistency based on directories. Memory-based, cache-based and hierarchichal directories. Message passing: blocking and non-blocking paradigms. Examples of protocols for memory-based and cache-based directories. COMA architectures. Message passing architectures. MPP. Interconnection network: definition, properties and topologies. Routing in high performance networks. The top500 report.
High performance Input/Output
Basic concepts. RAID systems. SCSI interface. Examples of I/O channels and System Area Networks.
Clusters
Cluster classification. Load balancing techniques. Examples of commercial and open-source clusters.
Client/server architectures and middleware
Client/server architecture: definition and typologies. Benson, Gartner group and Winsberg models. 2-tier and 3-tier architectures. Web-based architectures. Middleware: typologies (message oriented, TPM, RPC, ORB). RPC operation. Distributed objects: CORBA, DCOM, RMI. Design alternatives for client-server sistems.
Basic techniques for distributed systems
Clock synchronization and Lamport's algorithm. Distributed mutual exclusion. Coordinator election. Distributed deadlock. Distributed snapshot. Replication techniques.
Distributed software services
Name service. DNS: structure and operation. NetBIOS and NetBEUI. Task distribution. TELNET protocol. Process and application migration. Sender-initiated, receiver-initiated, and register-based algorithms. File sharing. The FTP protocol. Network and distributed file systems. File sharing semantics. NFS: architecture and operation. SMB protocol. Protocols for network management: DHCP, SNMP. User sharing: NIS. Directory services: X.500, LDAP, Active Directory. E-mail: SMTP and POP3, MIME standard. Web service: HTTP procotol. Architectures for web applications: JEE and web services.
Security of computing infrastructures
Cryptography: principles and requirements. Symmetric and asymmetric cryptography. Digital signature and PKI. Authentication: examples of mechanisms and attacks. Examples of secure protocols. Firewall: typologies and classification. Examples of attack techniques and countermeasures.
Reliability of computing infrastructures
General notions on reliability. Hardware and software reliability. Maintainability.