The goal of the homework is to study the characteristics of emerging applications. The applications listed below are expected to consume most of the processor cycles in future systems and are known to be difficult to support with existing architectures.
Working in a group of 3-4 students, you will produce a 10-minute presentation on the requirements and trends of one application area. The presentation will be given during the Tuesday 4/15 class meeting. You will also produce a longer version of your presentation (or a write-up) that will be included in the lecture notes.
We are interested in exploring as many of the following characteristics as possible:
The 10-minute presentation should include the most significant characteristics, while the longer version should provide a more complete presentation of your findings, along with a listing of the references you used. The format of the presentations/write-up should be informal.
For some of the above you may be able to find quantitative data, while for others you may only be able to find or generate qualitative arguments. Some good sources of information are:
· Time and profile one such application (if you have access to the source code or executable).
· Architecture papers that analyze the performance of such applications on current or future systems (use Citeseer for bibliography searches).
· High-level papers that describe the state of the art and future trends in this area (IEEE Computer, Proceedings of the IEEE, ACM Computing Surveys, Communication of ACM).
· The web-pages of research groups working on such applications (at Stanford or elsewhere).
· Stanford graduate students or faculty working on such applications.
· The web (e.g. Google).
Some of the application areas listed below are not as mature or as well characterized as others. Don’t let this discourage you. It is a common case in systems research: you try to design today systems for the applications of tomorrow
Group 1: Honggo, Varun, Arjun, Navneet
Applications: Multimedia applications
Examples: 3-D graphics, video compression/decompression, animation, image processing, medical imagining, image synthesis…
Group 2: Metha, Janani, John Kim
Applications: Networking applications
Examples: TCP/IP routing in WAN/LAN environments (control & data plane), voice over IP, storage over IP, signal and protocol processing for wireless…
Group 3: Paul, Garret, Abhyudaya
Applications: Security applications
Examples: public key encryption, private key encryption, authentication, electronic signatures, electronic cash…
Group 4: Amin, Sorav, Chi, Shivnath
Examples: on-line transaction processing, data-mining, web servers, video servers, file servers, java applications servers, mail servers…
Group 5: Jayanth, Jing, Lark-Hoon, Rohit
Applications: Scientific applications
Examples: weather forecast, protein folding and modeling, mechanical and chemical modeling, radar processing, data visualization…
Group 6: Wajahat, Ernesto, Rebecca
Applications: Recognition applications
Examples: voice recognition, visual recognition, hand-writing recognition…
Group 7: Brad, Jean, Joel, Ilya
Applications: Probabilistic & machine learning applications
Examples: modeling of neural systems, genetic algorithms, learning algorithms, robotics…
Group 8: Suzy, John Whaley, David
Applications: Verification applications
Examples: formal verification of hardware/software/protocols, static and dynamic bug detection in hardware…