Você está na página 1de 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

History
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
www.cercs.gatech.edu/multicore

Embedded Education Focus


Era of Internet of Things

The computing industry has an ever-increasing demand for scientists, engineers, and practitioners capable of designing and developing next generation applications, systems software, and platforms for the projected tens of billions of embedded devices of the future.
Universities and academic institutions must respond to this trend by ensuring the creation of adequate workforce, equipped with the required knowledge and skillsets, 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

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, 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

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

Course Modules
Bring Embedded IA to curriculum
vs. 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)

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

Target Environment
Intel Atom
Maintain familiar toolchain, port applications/software

Platforms
SDKs (multiple generations)

notebooks (Lenovo S10, Dell minis) Linux flavors: including Moblin, MeeGo Android Virtualized infrastructure
MeeGo and Moblin VMs on Xen

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, profiling, debugging How-tos Kernel modification, debugging and installation Setup, virtual image creation, Measurement tools

Running sample applications


Browser and web runtimes, games Benchmarks media manipulation, embedded benchmarks, WileE

Leveraging
edc.intel.com content and Intel training modules MeeGo and Moblin projects and applications

Sample Projects
Depending on course: from 2-3 week to semester long individual, or in groups of up to 3 required for the entire class power measurement, 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, 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

Sample Projects
Location-based
Virtual GPS driver interface to GPS interface, vs. WhereAmI.com vs. markers Breadcrums track my way through Klaus of JF3 location driver, tracking, wireless signal detection

Distributed services
Distributed Chimera DHT, in-memory key-value store Redis caching, replication, dynamic recovery, 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, Power, Platform Efficiency

New Course Development


Performance Debugging Environments
Santosh Pande, CS

Embedded Systems and Software


Hsien-Hsin Lee, ECE

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

GLIMPSES: An Application Tuning Tool for Intel Atom


Domain of streaming media high-performance applications
Multimedia codecs, video games, immersive environments Frame rates, cause effect relationship, etc.

Graduate students to devise this tool based on compiler, profiling technology to be released in open source Undergraduate students will serve as early users (beta version) of this tool, will port applications using it and give feedback for feature enhancements Alpha version of this tool under progress

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, temporal, hybrid)

Alias and safe pre-fetching information


Multiple alias analyses available

16

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

Multimedia application example


H.264/AVC reference software
Compression scheme dictates frame rate fluctuations Optimization opportunity
Trade compression ratio to achieve better frame rate
0.03 0.025 0.02 FPS 0.015 0.01 0.005

0
1 11 21 31 41 51 61 71 81 91 101 111

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

Current Atom-oriented enhancements


Intel Atom support
Porting, PMU counters, cause-effect hot-spot analysis

Execution variance analysis


Performance attribution to program entities
Data structures, code region, program parameters

Power consumption

Avoid frequent, unnecessary polling Race to Sleep Sleep duty cycle

e.g., finish the computation as early as possible, 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, profiling and compression techniques, profile representation structures for efficient querying

New Course: Embedded Systems and Software


Prof. Hsien-Hsin Lee, ECE Traditional embedded systems content Theoretical component:
embedded architecture, acceleration-based computing, code compression, FIR filtering, low-power computing principle, real-time theory and applications, stability analysis, 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

Leveraging our KU MS Program in Embedded Computing


http://www.cc.gatech.edu/classes/AY2009/cs8803rk1_summer/

Programming Competition
MeeGo/Atom theme Modeled after Yahoo! HackFest, successfully organized at GT for several years Entry through courses
Students are building towards contest entry from beginning of semester e.g., Mobile Applications and Services, Design of Operating Systems, 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, Nov.

Você também pode gostar