You are on page 1of 23

Integrating Intel Atom-based content in the CS and ECE Curriculum at Georgia Tech

Ada Gavrilovska, Santosh Pande, Hsien-Hsin Lee, Matthew Wolf, Russ Clark, Karsten Schwan, Calton Pu, Sudhakar Yalamanchili CERCS Georgia Institute of Technology

• Center for Experimental Research in Computer Systems (CERCS)
– School of Computing Science and School of Electrical and Computer Engineering at GT – Focused on • High Performance Computing • Enterprise Systems • Pervasive and Embedded Systems

• Multi-year engagement with Intel:
– „power‟ considerations, embedded and pervasive applications, device and platform virtualization, high performance systems, distributed trust and security

• Multicore curriculum

• Universities and academic institutions must respond to this trend by ensuring the creation of adequate workforce. engineers. and practitioners capable of designing and developing next generation applications.Embedded Education Focus • Era of “Internet of Things” The computing industry has an ever-increasing demand for scientists. systems software. as well as by graduating Computer Science and Engineering students capable of competing for these types of employment opportunities • Engage broad set of faculty. across Schools in the College of Computing and School of Electrical and Computer Engineering . and platforms for the projected tens of billions of embedded devices of the future. equipped with the required knowledge and skillsets.

and possibility of „turning off‟ video game generation‟ through potentially „dry‟ technical topics • Administratively challenging to introduce new „required‟ course • Limited coverage in terms of number of students exposed .SINGLE NEW COURSE – NOT A VIABLE SOLUTION FOR US • At what level? – senior or graduate students – too late – freshman or sophomore – too early to address all concepts and challenges.

GT Approach • Modules – Modules and projects throughout CS and ECE curricula • New courses • Generate Interest – Competition • Leverage content developed for specialized Georgia Tech MS in Embedded Computing at Korea University .

bring IA to embedded curriculum • Develop course modules for insertion into a wide range of courses – – – – – undergraduate and graduate CoC and ECE systems and architecture compilers and programming languages enterprise computing and information integration – Internet and mobile applications • Round two broaden to other courses (IC) .Course Modules • Bring Embedded IA to curriculum – vs.

Target Courses • • • • • • • • • • • • • • • CS 2200 Systems and Networks CS 3210 Design of Operating Systems CS 4210 Advanced Operating Systems (UG) CS 6210 Advanced Operating Systems (Grad) CS 8803GOS Graduate Introduction to Operating Systems CS 6235 Real-Time Systems (Grad) CS 6365 Enterprise Systems CS 6675 Advanced Internet Applications ECE 3055 Computer Architecture and OS ECE 4893 Multicore and GPU Programming for Video Games ECE 6100 Advanced Computer Architecture CS 8803 Languages and Compilers for Embedded Systems CS 4803 Mobile Applications and Services … Possibility of exposure to 300+/yr students .

Dell minis) • Linux flavors: including Moblin. port applications/software… • Platforms – SDKs (multiple generations) – notebooks (Lenovo S10.Target Environment • Intel Atom – Maintain familiar toolchain. MeeGo… • Android • Virtualized infrastructure – MeeGo and Moblin VMs on Xen .

intel. games – Benchmarks – media manipulation. Measurement tools • Running sample applications – Browser and web runtimes. debugging How-tos Kernel modification. debugging and installation Setup. virtual image creation.Sample Round One Modules Dominant mode of exposure in majority of these classes • via projects • (lecture content is based on research papers or single textbook) • Atom architecture overview • Atom-OS architecture overview • Getting started – For students & instructors and TAs • • • • Building. content and Intel training modules – MeeGo and Moblin projects and applications . embedded benchmarks. WileE • Leveraging – edc.

power modeling and energy management • performance analysis of various OS schedulers for Moblin • performance analysis of paravirutalized Moblin for Xen • distributed object sharing infrastructure with support for caching.Sample Projects • Depending on course: – from 2-3 week to semester long – individual. replication and dynamic discovery • analysis of virtualized wireless networking stacks • middleware for “aware-home” environment • drivers for multi-touch or location-based capabilities • smart drivers for IPTV applications • … . or in groups of up to 3 – required for the entire class • power measurement.

markers – Breadcrums – track my way through Klaus… of JF3 – location driver. in-memory key-value store Redis – caching. replication. dynamic recovery.Sample Projects • Location-based – Virtual GPS driver – interface to GPS interface. WhereAmI. vs. wireless signal detection… • Distributed services – Distributed Chimera DHT. consistency – nanoclouds + exaclouds: use battery status or wireless strength to determine whether to go to Flickr • Resource management – Compare and tune Linux schedulers for embedded workload mix and metric – Performance. Platform Efficiency . vs. Power.

ECE .New Course Development • Performance Debugging Environments – Santosh Pande. CS • Embedded Systems and Software – Hsien-Hsin Lee.

New Course: Performance Debugging Environments • Instructor: Santosh Pande • TA: Sangho Lee • GLIMPSES: An Application Tuning Tool for Intel® Atom™ .

Tool-chains: Intel® Atom™ • Porting high-performance media applications to low-power platforms can be challenging • Focus: – Embedded curriculum based on performance analysis tool to help application tuning .

will port applications using it and give feedback for feature enhancements • Alpha version of this tool under progress . • Graduate students to devise this tool based on compiler.GLIMPSES: An Application Tuning Tool for Intel® Atom™ • Domain of streaming media high-performance applications – Multimedia codecs. cause effect relationship. immersive environments – Frame rates. profiling technology to be released in open source • Undergraduate students will serve as early users (beta version) of this tool. etc. video games.

Current GLIMPSES features • Static/Dynamic Call Graph Navigation • Memory Requirements Analysis – Dynamic – Analytical – what if scenario calculator for memory capacity • Memory Access Patterns – Locality (spatial. hybrid) • Alias and safe pre-fetching information – Multiple alias analyses available 16 . temporal.

Current GLIMPSES features Glimpses Program Understanding Source Call Tree Sequence Function Search Call Graph Static Dynami c Properties Function Understanding Domain Specific Understanding Memory Locality Spatial Temporal Neighbor Affinity View CFG Alias Analysis Metrics No of calls Frame rates Hot-spots Variance View Relations Callers Callees View/Edit Source Subtree Performance Counters Throughput .

015 0.02 FPS 0.03 0.005 0 1 11 21 31 41 51 61 71 81 91 101 111 .Multimedia application example • H.025 0.264/AVC reference software – Compression scheme dictates frame rate fluctuations – Optimization opportunity • Trade compression ratio to achieve better frame rate 0.01 0.

Multimedia application example • LAME MP3 Encoder – Frame rate measured is inversely related to a PMU event (# of pending L2 cache requests) – Solution : Retool application to spread out L2 requests 600 500 400 300 200 100 0 1 21 41 61 81 101 121 FPS L2_NO_REQ .

profiling and compression techniques. cause-effect hot-spot analysis • Execution variance analysis – Performance attribution to program entities • Data structures. code region. let the system enter the sleep mode • Minimize C-state transition • Curricular integration – To be integrated with CS 8803 – Optimizations for Embedded Systems graduate level course – Use of LLVM compiler infrastructure. PMU counters. program parameters • Power consumption – Avoid frequent. profile representation structures for efficient querying ..g. finish the computation as early as possible. unnecessary polling – Race to Sleep – Sleep duty cycle • e.Current Atom-oriented enhancements • Intel Atom support – Porting.

low-power computing principle. ECE • “Traditional” embedded systems content • Theoretical component: – embedded architecture. Hsien-Hsin Lee. real-time theory and applications. compiler optimization techniques for embedded applications • Practical component: – – – – based on Android and MeeGo on Atom platforms state-of-the-art video decoders power breakdown per algorithm components performance/power optimization . acceleration-based computing. code compression.New Course: Embedded Systems and Software • Prof. stability analysis. FIR filtering.

edu/classes/AY2009/cs8803rk1_summer/ .Leveraging our KU MS Program in Embedded Computing

Design of Operating Systems.Programming Competition • MeeGo/Atom theme • Modeled after Yahoo! HackFest..g. . Mobile Applications and Services. successfully organized at GT for several years • Entry through courses – Students are building towards contest entry from beginning of semester – e. Nov. Embedded Systems and Software… • Open to others – Crash course module(s) on day 1 and 2 – Competition on final day • First competition targeted for Fall 2011.