|
Advanced Computer Design - Mainframe and Industry Technologies |
||||
|
Meeting Times and Location: Fall 2009 Thursdays |
||||
|
Instructor - Donna Dillenberger |
||||
|
Email: : dd20@columbia.edu |
||||
|
Goals |
||||
|
||||
|
Course Outline |
||||
|
1. Computer
Architecture of mainframes driven by workload requirements 1960s - 2005 1.1. Effects
and changes to a memory architecture 16 bit, 32 bit, 64 bit 1.1.1. Difficulties
in backward compatibility for all programs written since the 1960s. 1.1.2. How other
architectures deal with this 1.1.3. Memory
versus CPU versus Storage tradeoffs 1.1.4. 16 bit
versus 64 bit programs 1.1.5. Assignment:
Short paper (1-2 pages): How would you design a system for backward
compatibility? 1.2. Processor
design - Uniprocessor, Multiprocessor, Symmetric Multiprocessor, Simultaneous
Multi Threads 1.2.1. Benefits
and tradeoffs 1.2.2. Cache
coherency of different models above, benefits and tradeoffs 1.2.3. Workload
requirements - databases, time sharing, transactional, batch jobs, email,
java applications, web applications 1.2.4. Assignment:
Short paper: thought experiment: design the next model of a computer given
commercial requirements and performance requirements. How large a cache? How
many processors? SMT or not? How much footprint in the Chip would you devote
to redundant processors for error recovery? 1.3. Storage
Subsystems 1.3.1. Why and
how I/O had to be offloaded from the main CPU 1.3.2. 64,000
channel devices - How to build a computer that can connect to greater than
64,000 I/O devices and still be
scalable 1.3.3. Design of
highly available storage - Shark vs EMC vs 1.3.4. I/O
configurations for 64,000
devices. Class discussion: what would you change in the H/W mgmt console to
make this easier? 1.3.5. Assignment:
Short paper on commodity storage and software needed to make it available. 1.4. Hypervisors
and Virtualization 1.4.1. What is
it? Benefits, Tradeoffs. 1.4.2. Motivation
from 1970 commercial requirements. Present day uses. 1.4.3. Comparison
to VMWare, Solaris virtualization 1.4.4. Class demonstration:
Log on to zVM, start up a Linux guest. start up a zOS guest. Use zVM Resource
manager to dynamically move resources across guests. See effect on
performance of CPU intensive job. 1.4.5. Assignment:
Short paper on other uses for Virtualization 2. Operating
Systems advanced features 2.1. Workload
Management 2.2. Self
Recovery - Not having your system crash or having customers run commercial
workloads that will not allow rebooting. Single systems typically running for
5 years without rebooting. 2.3. Advanced
dispatcher design to achieve running at greater than 90% utilization. 2.4. Availability 2.5. Metering
- why does this matter? 2.6. Comparisons
to Linux, Windows, Solaris 2.7. Class
demonstration: Create a
Workload management policy on zOS. Write a Functional Recovery Routine to self
recover your code. Compile and test on zOS. 2.8. Assignment:
Short paper: How would you design self correcting code? or How would you
design a dispatcher to achieve >90% utilization? 3. Advanced
topics in Commercial Clusters 3.1. Parallel
Sysplex 3.2. Coupling
Facility - Distributed Shared Data 3.3. J2EE,
Database, Message Queuing design for high availability. 3.4. Comparison
to Googleplex, other commercial clustering systems. 3.5. Class
Demonstration: Start up a parallel sysplex 3.6. Assignment:
Short paper: How would you design a highly available transactional system? 4. Middleware
for High Scalability 4.1. How
software (below) was redesigned and why for high scalability and availability 4.2. Databases 4.3. Transactional
Systems 4.4. Java
Virtual Machines 4.5. Web
Servers 4.6. Assignment: Write a simple program in java
that reads input from a socket, saves it, and is able to retrieve it when
requested. How would you redesign that application for scalability and
availability running on zOS?
|