Computer Engineering Division MS and PhD Programs Computer Engineering Faculty by Area Architecture Annavaram, Murali Dubois, Michel (Director, Computer Engineering Hwang, Kai Pinkston, Timothy (Vice Dean) Prasanna, Viktor Networks Jain, Rahul Krishnamachari, Bhaskar Psounis, Konstantinos Raghavendra, Cauligi (Vice Dean) Silvester, John VLSI/CAD Beerel, Peter Bogdan, Paul Breuer, Melvin Gupta, Sandeep (Department Head) Parker, Alice Pedram, Massoud Teaching Eshaghian‐Winer, Mary Nazarian, Shahin Puvvada, Gandhi Redekopp, Mark Ung, Monte Research Cho, Young Draper, Jeff Granacki, John Simmhan, Yogesh Who is a Computer Engineering student? If most of the courses you are interested in appear in this list Computer Architecture: EE 454L ‐ Introduction to System Design Using Microprocessors EE 457 ‐ Computer Systems Organization EE 532 ‐ Wireless Internet and Pervasive Computing EE 557 ‐ Computer Systems Architecture EE 653 ‐ Advanced Topics in Microarchitecture EE 657 ‐ Parallel Processing EE 659 ‐ Interconnection Networks EE 677 ‐ VLSI Architectures and Algorithms Computer Networks: EE 450 ‐ Introduction to Computer Networks EE503‐ Probability for Electrical and Computer Engineers EE 550 ‐ Design and Analysis of Computer Comm. Networks EE 555 ‐ Broadband Network Architectures EE 579 ‐ Wireless and Mobile Networks Design and Laboratory EE 650 ‐ Advanced Topics in Computer Networks EE 652 ‐ Wireless Sensor Networks If most of the courses you are interested in appear in this list CAD/VLSI: EE 477 – MOS‐VLSI Circuit Design EE 536a&b – Mixed‐Signal Integrated Circuit design EE 577a&b – VLSI Systems EE 658 – Diagnosis and design of Reliable Digital Systems EE552 – Asynchronous VLSI Design EE 581 – Mathematical Foundations for Computer Aided Design EE 681 – Computer Aided Design of Digital Systems EE 677 ‐ VLSI Architectures and Algorithms If you are enrolled in the following degree programs with primary interest in … Degree Primary area of interest Architecture Networks VLSI or CAD MSEE x x x MSCENG x x x MSEECN x MSEEVL x PhDEE x x x PhDCENG x x x An overview of degree programs MSEE A general degree which spans all areas in EE MSEECN A version of MSEE, specialized for Networks MSEEVL A version of MSEE, specialized for VLSI or CAD MSCENG A degree for breadth across CEng and depth in one of its areas PhDEE A doctoral degree which spans all areas in EE PhDCENG A doctoral degree for those desiring a rigorous CEng program MSEE - Master of Science in Electrical Engineering A minimum cumulative grade point average (GPA) of 3.0 must be earned on all course work. A minimum of 27 units of course work (400 level and above). At least 18 units in EE. At least 18 units at the 500 level or above At least 21 units in the School of Engineering No more than 3 (three) 400 Level courses may be counted towards the degree. No more than 3 courses taken outside of the EE Department may be counted towards the degree. (Units taken outside of Electrical Engineering must be approved in advance and must be substantive in content and related to the degree objective.) MSEE - Master of Science in Electrical Engineering MSEE w/ Thesis Option A minimum of 27 units of course work (400 level and above). At least 16 units, not including thesis, must be at the 500 level or above. At least 18 units must be completed in EE. At least 4 and not more than 8 units of research (590) and thesis (594ab). The minimum thesis requirement in 594a is two units; in 594b, two units. MSCENG - Master of Science in Computer Engineering A minimum cumulative grade point average (GPA) of 3.0 must be earned on all course work. A minimum of 27 units of course work. A minimum of 18 units must be taken in Electrical Engineering ENTRANCE REQUIREMENT COURSES CSCI 455 Introduction to Programming Systems Design EE 357 Basic Organization of Computer Systems FUNDAMENTAL COURSES CSCI 402x Operating Systems EE 450 Introduction to Computer Networks or EE 503 Probability for EE and Ceng EE 457x Computer Systems Organization EE 477 MOS VLSI Circuit Design A Fundamental Course may be waived taking a Placement Exam. In case a Placement Exam is not offered, then a fundamental course may be waived by a designated faculty member. MSCENG - Master of Science in Computer Engineering CORE COURSES EE 550 Design and Analysis of Computer Communication Networks or EE 555 Broadband Network Architectures EE 557 Computer Systems Architecture EE 577a VLSI System Design ELECTIVE COURSES Students must take at least 6 units from the following list of elective courses (cannot overlap with core courses): Computer Science: CSCI 545, CSCI 546, CSCI 547, CSCI 551, CSCI 555, CSCI 558L, CSCI 561, CSCI 565, CSCI 570, CSCI 584, CSCI 585, CSCI 595 Electrical Engineering: EE 532, EE 536ab, EE 549, EE 550, EE 552, EE 554, EE 555, EE 557, EE 558, EE 560, EE 577ab, EE 579, EE 650, EE 652, EE 653, EE 657, EE 658, EE 659, EE 677, EE 680, EE 681 MSCENG - Master of Science in Computer Engineering Thesis Option The minimum requirement is 27 units; four of these units are to be thesis. At least 16 units, not including thesis, must be at the 500 level or higher, and at least 18 units must be in the major department. A total of not less than four nor more than eight units of 590 Research and 594ab Thesis must be included in the program. The minimum thesis requirement in 594a is two units; in 594b, two units. MSEECN - Master of Science in Electrical Engineering (Computer Networks) Students are required to have a BS degree in Electrical Engineering, Computer Engineering, or Computer Science. A minimum cumulative grade point average (GPA) of 3.0 must be earned on all course work. A minimum of 27 units, including: 21 units in the School of Engineering 18 units at the 500 level 15 units in Electrical Engineering (cross‐listed courses are acceptable) The following required courses: EE 549 or EE 550, EE 555 and CSCI 551. It is expected that each student in this program will take or have taken the equivalent of the following fundamental courses: FUNDAMENTAL COURSES CSCI 402x EE 450 EE 457Lx EE 503 Students who have previously taken equivalent courses elsewhere should obtain a waiver by passing the placement exam at USC, as this will allow additional electives to be taken. MSEECN - Master of Science in Electrical Engineering (Computer Networks) REQUIRED COURSES CSCI 551 EE 549 or EE 550 EE 555 ELECTIVE COURSES CSCI 530, CSCI 555, CSCI 558L, CSCI 570, CSCI 694ab, EE 532, EE 535, EE 554, EE 557, EE 558, EE 579, EE 590, EE 650, EE 652, EE 659. Any other course must be approved by a faculty advisor. Total units required for the degree is 27. Thesis Option The minimum requirement is 27 units; four of these units are to be thesis. At least 16 units, not including thesis, must be at the 500 level or higher, and at least 18 units must be in the major department. A total of not less than four nor more than eight units of 590 Research and 594ab Thesis must be included in the program. The minimum thesis requirement in 594a is two units; in 594b, two units. MSEEVL - Master of Science in Electrical Engineering (VLSI DESIGN) A minimum cumulative grade point average (GPA) of 3.0 must be earned on all course work. Completing the normal requirements for the Master of Science in Electrical Engineering, with the following additional required courses: EE 536a; EE 577a; EE 577b or EE 536b; and EE 552. If a student chooses to take EE 536b as well as EE 577b, the student may either count EE 536b as one of the courses for Area 2 or EE 577b as one of the courses for Area 1 or Area 3. (described below). The student must also take two courses from one of the following areas and one course from a second area: Area 1: CSCI 455x, EE 560, EE 577b (see above), EE 658, EE 680 and EE 681. Area 2: EE 448, EE 504L, EE 536b (see above), and EE 537. Area 3: CSCI 455x, CSCI 570, EE 557, EE 577b (see above), EE 659, EE 677. MSEEVL - Master of Science in Electrical Engineering (VLSI DESIGN) Thesis Option The minimum requirement is 27 units; four of these units are to be thesis. At least 16 units, not including thesis, must be at the 500 level or higher, and at least 18 units must be in the major department. A total of not less than four nor more than eight units of 590 Research and 594ab Thesis must be included in the program. The minimum thesis requirement in 594a is two units; in 594b, two units. PhD Programs: PhDEE and PhDCENG GPA requirements: For taking screening exams and graduation. Coursework: Required units with constraints on level and non‐departmental; also a minor is required. PhDCENG has more specific requirements Research: Significant body or original research, under the supervision of an advisor and a committee. Typically published as papers and as a Doctoral Dissertation. Exams: Screening exams Qualifying exam – dissertation proposal Defense – dissertation defense Residency requirements: Please see http://ee.usc.edu/academics/grad_degree_programs_phd/ and meet with your advisor. Suggested priority for selecting courses MS students • First priority: 400‐level pre‐requisites to the 500‐level courses of your interest ‐Either enroll in, or pass the placement tests for • Second priority: Core/required 500‐level courses of your area/program of interest • Third priority: A coherent set of electives (see “flowcharts”) PhD students • Also focus on PhD Screening Exam (see advisor) Placement tests • Who: If you have previously taken elsewhere a course that is nearly identical to a 400‐level USC course of your interest • Why: If you pass the test for a 400‐level course, then you ‐Do not have to enroll in that 400‐level course, and ‐Can enroll in any 500‐level course for which this course is a prerequisite • When: Friday, August 23, 2013, see http://ee.usc.edu/students/graduate/academic‐dvisement/placement_exam_req.htm Questions? VLSI/CAD Asynchronous VLSI Peter A. Beerel • Asynchronous ASIC Flow – Re-use standard tools for synthesis/physical Synthesis – ClockFree – new asynchronous optimization/ translation – Target ultra high performance/ low-power ClockFree • CAD for Asynchronous Design – Mathematical programming, graph theory, Petri-nets Physical Design – Optimize pipeline structure - Slack matching Commercialized – Optimize communication - restructuring conditional communication Async ASIC Flow • Async Template and Library Design – Advanced pipeline templates – Static timing and noise analysis • Application Drivers – Turbo/Fano decoding – Computational blocks • Beyond Moore’s Law – Robustness/reliability to process and STFB 0.25um Test Chip environment variability/faults High-Level Specification CAST Definition Clustering pipeline stages Place and route tool Frequency @ 1.24GHz Resilient and Specialized Computing Jeff Draper Resilient Computing • Two trends coupled together greatly exacerbate system reliability issues • Extensive variability in device parameters at extreme fabrication technology nodes • Extreme-scale systems containing millions of cores • Solutions needed at all levels: software, architecture, circuits Resilient SRAM chips Specialized Computing • End of Moore’s Law will require value added in other ways for computing to keep progressing • Customized computer architectures are likely • e.g., D.E. Shaw’s Anton molecular dynamics computer 8Mb SRAM SRAM SRAM Node Processing Logic, Pbuf Node Processing Logic, SDRAM Interface, PiRC Pbuf, DDR SDRAM Interface, PiRC Research Plan • Currently exploring energy-resilience trade-offs, memory-oriented computing, transactional memories, 3DIC-inspired architectures, and networks-on-chips as part of solution space Memory‐oriented computing chips Design of Energy-Efficient Information Processing Systems Massoud Pedram Energy Efficiency and Our Digital Future • • • • • • Moore’s law continues although it is increasingly more costly to stay on path (higher variability, lower supply voltages, less timing margins) There is a move away from overclocking and performance‐driven design toward use of adaptive voltage supply levels, including near/sub‐threshold computing Key figure of merit is the amount of useful work done per joule of energy dissipated in circuits (gigaflops/joule, MIPS/Watt, energy‐delay product) Cost‐sensitive, heterogeneous, distributed computing platforms have emerged, operating under diverse requirements and targeting different markets Future system architectures will be heterogeneous multi‐core designs, with integrated accelerator “sub‐ cores” connected via heterogeneous interconnect elements Adaptability will also be a key requirement since it enables a system to provision and customize hardware to meet varying workload and performance requirements Example Solutions Cross‐layer Power Optimization Opportunities Yield per Area Enhancement via Redundancy The problem Melvin A. Breuer The yield of present (and future) technology nodes is (and will be) low. It starts at about zero and during a learning period of several years gets to 85%. If when the yield is at 35% we could, by re-design, enhance it to be 50% then time to market can be drastically reduced. This can be achieved via redundancy. The solution By duplicating of even triplicating non-memory modules on a die we increase its area and to a greater extent its yield. Thus the wafer has less die but more good ones and hence larger yield/area. Findings • We have developed several algorithms for identifying the optimal number of spares per module. • We have developed a system to partition a design in an optimal way to form modules that will be replicated. • We conjecture that replicating modules at the core level is not optimal; such replication should be done at a finer level of granularity. CYBER-PHYSICAL SYSTEMS GROUP Paul Bogdan Addressing challenges in medicine via bioinspired approaches Detection of silent disease progression Drug delivery to inaccessible body areas Accurate modeling & steady interaction with medical experts improves healthcare Observation Sensors Output circuitry Actuation Steady interaction with medical experts Model Parameter Identification Optimal Control Algorithm Computation, Communication & Control The BioRC Biomimetic Real‐Time Cortex Alice C. Parker Spike Analog Neuromorphic Circuits Synapses with Plasticity* Spiking Axon Hillocks Dendritic Dendritic Computations branch Stochastic Neurons* Small Networks of Neurons Structural Plasticity* Retinal Circuits* Neural-Astrocyte Interaction Nanotechnology Implementations Carbon Nanotube Synapse Software Simulations Retina* Multi-Core Brain simulations Bioinspired Algorithms Stereo (binocular) vision* No Spike Both spatially- and temporally-clustered inputs in our prototype dendritic branch are required to initiate spikes *Dissertation completed Structural plasticity using synapse Claiming by N2 as N1 lacks activity 27 Exploiting redundancy to maximize utility‐per‐wafer • • Sandeep Gupta Increasing percentage of fabricated chips imperfect due to increasing defect rates Identify new types of redundancy to exploit – Functional and control modules in modern high‐performance multi‐core processors (CPUs) – Symmetry in modern highly‐parallel processors, e.g., GPUs, GP‐GPUs – Flexibility in user needs – binning based on performance delivered by a chip to the user • Optimally exploit old and new redundancy to improve utility‐per‐wafer for CPUs – – E.g., for last‐level cache in a modern CPU improve expected Giga Ops/sec (EGOPS) • By 1.5x compared to optimized versions of previous approaches • By 2.5x in the near future E.g., optimally add spare cores to 512‐core GPU and use processor binning to improve revenue per wafer to within 17% of an ideal process (zero defect density) for a process that has very high defect density Computer Architecture Computing Clouds, Internet of Things and BigData Security Kai Hwang Cloud Ecosystem for Internet of Things • Cloud services, benchmarks and IoT/SN apps. • Wireless and satellite Internet infrastructure for mobile and pervasive computing • RFID, sensor networks and assisted GPS services in cyber-physical and IoT systems Bigdata Integrity, Privacy, and Analytics for Trusted Computing • Community clouds with associative big-data sharing over virtual disks • Privileged access protocols based on roles and attributed key management • Reputation and accountability systems for trusted P2P, grid and cloud Computing Internet Computing with trusted clouds, IoT, P2P networks and automated datacenters Parallel and Distributed Computing Viktor K. Prasanna Multi-core/Heterogeneous Architectures • Multithreaded applications • Software routers • Graph analytics • GPU computing • Scalable parallel algorithms Application Specific Accelerators on FPGAs • High-Speed networking • Terabit IP forwarding • Virtualized routers • Security firewalls • Data center networks • Energy efficiency Big Data Platforms and Applications • Time series graph analytics • Cloud resource management • Social network analysis • Analytics for smart infrastructure (smartgrid, smart oil fields,..) http://ceng.usc.edu/~prasanna Cloud Computing & Energy Informatics Yogesh Simmhan Scalable Software Frameworks for Clouds & Distributed Systems • Streaming dataflow & workflow models for realtime data processing • ‘Big Data’ analytics on Timeseries Graphs Algorithms, Scheduling, Programming Abstractions, Resiliency, Data Mgmt. USC Center for Energy Informatics cei.usc.edu • Software Arch. for Smart Grid Demand Response • Big Data Integration & Enterprise Social Networks LADWP Smart Grid & USC Micro Grid Resilient & Efficient Systems Murali Annavaram Resilient Systems Energy Efficient Systems • PARMA/MACAU: Can a cache design survive 7 years with multi-bit soft errors? S Q(k) q l j k{ j}S b, j • KnightShift: How much has your server efficiency improved? • Warped Low Power GPU Design (l j ) • WearMon: Detect failures before they occur? • Warped-DMR: Error detection on a dime (nearly free) 36 SMART Interconnects Group Timothy M. Pinkston Power-Performance-Resource Efficiency IBM Blue Gene Supercomputer • Efficient communication among hundreds to many storage computation thousands of CMP cores is needed in near future: Network-on-chip architectures designed to reduce power consumption, maximize performance and require minimal resources while remaining resilient in presence of faults Multi-scale system interconnects that satisfy growing, diverse quality-of-service demands Intel Polaris 80‐core die communication • Techniques: multi-objective optimization, proactive power gating, performance-guarded/critical design Holistic Design and Management • Mutually aware processor-memory-interconnect design and resource management (cross-cutting) Virtualization and coordinated management Static energy (norm. to No_PG) No_PG 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Conv_PG Conv_PG_OPT NoRD Microarchitecture, Multiprocessors, Reliability Michel Dubois Micro-architecture • Memory Protocols for Tools for Measuring CMPs Resilience to Soft • Better cache protocols for Errors transactional memory and bulk OoO cores and caches have unpredictable behavior. • Idea: stabilize their MIPS rate • Good for meeting deadlines, power, consistency models EPI • Speculative protocol Use a PID control loop transactions in TMs • • Parallel Simulations of CMPs on CMPs • How to exploit current chip multiprocessors to simulate future chip multiprocessors • Parma, Parma+: Estimate reliability of caches under Temporal and Spatial MBEs Extension to main Memory Extremely Low cost Error Correction in Memories CPPC: Correctable Parity Protected Cache CIEC: Chip-Independent Error Correction (in DRAMs) Network Networked Systems Performance and Design Lab Konstantinos Psounis • • • Modeling and analyzing the performance of a variety of wired and wireless networks – including the Internet, WiFi, cellular, mobile, delay and disruptive tolerant, sensor, mesh, and peer to peer networks, as well as the web Designing algorithms and protocols to solve problems related to such systems Implementing in software and hardware real-world testbeds to access performance in practice – e.g. building and using software defined radios to experiment with advanced physical layer techniques, such as distributed multiuser and massive MIMO, in order to address the wireless bandwidth crunch Networks, Big Data, and Machine Learning Cauligi Raghavendra Wireless and Sensor Networks • Energy efficient algorithms and protocols • Body area sensor networks and energy management • Delay tolerant networks – routing, congestion control, and applications Failure Prediction in Oil Fields • Predictive analytics for smart oil fields • Failure prediction in oil wells in large fields • Application of machine learning techniques to oil field problems Big Data – Time Series Event Graphs • Data layouts and storage for large graph data • Graph partitioning, analytics on graphs NETworks Control, Optimization & Games Rahul Jain • ECON Layer Internet as an economicallyviable eco-system Network Market Design Theory* SERV Layer Network Architectures for QoS-provisioning & Security Incentivized Network Architecture Designs* NET Layer Distributed Control of LargeScale Networks Network Utility Maximization Theory+ PHY Layer Increase Capacity through Multi-user schemes Non-cooperative Multi-User Comm. Theory* The economics of incentives for resource sharing, quality of service provisioning, security and cooperation in networks, wireless and power systems – Design of market mechanisms for bandwidth and spectrum sharing to enable Internet and wireless networks as economically-viable eco-systems – Design of incentivized network architectures for quality of service provisioning and security – Design and analysis of mechanisms for network utility maximization for distributed control of large scale networks in competitive environments, including power systems – Implementation of cooperative communication schemes to increase network capacity with non-cooperative users High-Performance Computing and Networking John Silvester Areas of Interest: • High Performance Networking • Software Defined Networking Current Projects: • “Condo‐of‐Condos” – a collaboration for sharing High Performance Computing (HPC) Resources among a set of 10+ Universities • TEN‐II – Next Generation High Performance USC Campus Network ‐ On‐ demand 10G and 100G connectivity to the Researcher utilizing SDN Technology • International Research Networking Collaboration – project to identify and support international research collaborations requiring high‐ performance networks Autonomous Networks Research Group Bhaskar Krishnamachari Design, analysis and implementation of algorithms and protocols for Next-Generation Wireless Networks Low-Power Wireless Sensor Networks Examples: Backpressure Collection Protocol (BCP), a novel dynamic routing protocol; and Ecolocation, a sequence‐based indoor localization algorithm that requires no prior calibration. Vehicular Networks In collaboration with General Motors Research, developing new architecture and mechanisms for cars to talk to each other. Cognitive Radio Novel algorithms for opportunistic spectrum access using tools from stochastic optimization theory, such as multi-armed bandits. Robotic Networks Investigating the use of robotic swarms to maintain connectivity and high-quality of communication in wireless networks. http://anrg.usc.edu Power Generation/Measurement/Management Young H. Cho GENERATION • • • • Multimodal Harvesting Flexible and Scalable Highly Efficient Conditioning Industrial Wireless Sensor Network MEASUREMENT • • • • • On-chip/On-board Measurement High Accuracy and High Sampling Rate Digital Instrumentation/Low Overhead Account for Process Variation In-Situ Dynamic and Static Power Efficient Power Harvesting for WSN Sub-circuit power estimates w/error < 1.25% MANAGEMENT • • • Scalable Smart Power Grid Management High Throughput/Low Latency Software Defined Network Driven Intelligently Managing Power Grid Network with Software