University of Alberta
CMPUT 605
COMPUTER ORGANIZATION AND ARCHITECTURE II

Department of Computing Science
University of Alberta


Fall 2003/Winter 2004

Revised February 23, 2005


LATEST ANNOUNCEMENT:


TIME: W 300-430
PLACE: CSC 249

INSTRUCTORS:


Papers For Discussion in (2003/2004)

Date
Paper
Download
March 16
3:00 PM
Peng Zhao, Shimin Cui, Yaoqing Gao, Raul Silvera, Jose Nelson Amaral, "Forma: A Framework for Safe Automatic Array Reshaping." (under review).
March 22
3:00 PM
CSC 349
Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhotak, Ondrej Lhotak, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble, "abc: An extensible AspectJ compiler," International Conference on Aspect-Oriented Software Development (AOSD), March, 2005, Chicago, USA.
July 14
3:00 PM
Yutao Zhong, Maksim Orlovich, Xipeng Shen, Chen Ding, "Array regrouping and structure splitting using whole-program reference affinity." Programming language design and implementation (PLDI) 2004, pp. 255 - 266.
July 28
3:00 PM
Manish Vachharajani, Neil Vachharajani, David I. August, "The liberty structural specification language: a high-level modeling language for component reuse", Programming language design and implementation (PLDI) 2004, pp. 195-206.
August 11
3:00 PM
Prasad Kulkarni, Stephen Hines, Jason Hiser, David Whalley, Jack Davidson, Douglas Jones,"Fast searches for effective optimization phase sequences", Programming language design and implementation (PLDI) 2004, pp. 171 - 182.
March 31
3:00 PM
C. Amza, A. Cox, and W. Zwaenepoel, "Distributed Versioning: Consistent Replication for Scaling Back-end Databases of Dynamic Content Web Sites," Proceedings of the ACM/IFIP/Usenix Middleware Conference, June 2003.
March 24
3:00 PM
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield, "Xen and the Art of Virtualization", SOSP, 2003
March 17
3:00 PM
DeQing Chen, Chunqiang Tang, Brandon Sanders, Sandhya Dwarkadas, Michael Scott, "Exploiting High-level Coherence Information to Optimize Distributed Shared State," ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, June, 2003.
March 10
3:00 PM
Katherine Yelick, Dan Bonachea, Charles Wallace, "A Proposal for a UPC Memory Consistency Model," UPC Community Forum, 2003.
March 10
3:00 PM
W. Kuchera, C. Wallace, "The UPC Memory Model: Problems and Prospects," International Symposium on Parallel and Distributed Systems, Santa Fe, NM, April, 2004.
February 25
3:00 PM
Dawson Engler, Ken Ashcraft, "RacerX: Effective, Static Detection of Race Conditions and Deadlocks," 19th ACM Symposium on Operating Systems Principles , Bolton Landing, NY, October, 2003.
February 11
3:00 PM
Tarek El-Ghazawi, Francois Cantonnet, "UPC Performance and Potential: A NPB Experimental Study," SuperComputing 2002 , Baltimore, MD, November, 2002.
February 04
3:00 PM
Maria Cutumisu, Calvin Chan, Paul Lu, Duane Szafron, "MCI-Java: A Modified Java Virtual Machine Approach to Multiple Inheritance," 3rd Virtual Machine Research and Technology Symposium (USENIX-VM), San Jose, CA, May, 2004.
January 21
3:00 PM
Nathanael Schärli, Stéphane Ducasse, Oscar Nierstrasz, Andrew P. Black, Traits: Composable Units of Behavior," Proceedings of ECOOP , May 2003.
November 27
3:30 PM
Youngsoo Choi, Allan Knies, Luke Gerke, Tin-Fook Ngai, "The impact of if-conversion and branch prediction on program execution on the Intel Itanium processor," International Symposium on Microarchitecture , Austin, Texas December, 2001, pp. 182-191.
January 07,
3:00 PM
Michael Kaminsky, George Savvides, David Mazieres, M. Frans Kaashoek, "Decentralized User Authentication in a Global File System," 19th ACM Symposium on Operating Systems Principles (SOSP), Bolton Landing, NY, October, 2003.
November 20 Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, Eric Brewer, "Capriccio: Scalable Threads for Internet Services," 19th ACM Symposium on Operating Systems Principles (SOSP), Bolton Landing, NY, October, 2003.
November 13 T. Sherwood and S. Sair and B. Calder, "Phase tracking and prediction," 30th International Conference on Computer Architecture (ISCA) , San Diego, CA, June, 2003, pp. 336-349.
November 06 Duesterwald, E., Cascaval, C., Dwarkadas, S., "Characterizing and Predicting Program Behavior and its Variability", Parallel Architectures and Compilation Techniques (PACT) 2003, New Orleans, LO, September, 2003, pp. 220-231.
October 30 Niewiadomski, R., Amaral, J. N., Holte, R. C., "Crafting Data Structures: A Study of Reference Locality in Refinement-Based Pathfinding", manuscript to be submitted to the ACM Journal of Experimental Algorithmics, October, 2003.
October 23 Ghemawat, S., Gobioff, H., Leung, S-T., The Google File System, SOSP'03, October, 2003.
October 16 Dulong, C., Krishnaiyer, R., Kulkarni, D., Lavery, D., Li, W., Ng, J., Sehr, D., "An Overview of the Intel IA-64 Compiler", Intel Technology Journal, 4th quarter 1999.
October 09 Golm, M., Felser, M., Wawersich, C. and Kleinoder, J., "The JX Operating System", 2002 USENIX Annual Technical Conference, June, 2002.
September 26 Skadron, K., Martonosi, M., August, D. I., Hill, M. D., Lilja, D. J., Pai, V. S., "Challenges in Computer Architecture Evaluation," IEEE Computer, August, 2003, Vol. 36, N. 8, pp. 30-35.
None Smith, Alan Jay, "The Task of the Referee", IEEE Computer, April, 1990, pp. 65-71.
September 26 Skadron, K., Martonosi, M., August, D. I., Hill, M. D., Lilja, D. J., Pai, V. S., "Challenges in Computer Architecture Evaluation," IEEE Computer, August, 2003, Vol. 36, N. 8, pp. 30-35.
September 18 Rob Holte, Rob Schapirei, and Marie desJardins, "The Three R's of Publishing Machine Learning Papers: Research, 'Riting, and Reviews", Mini-Tutorial at ICML03.
September 12 Wolf, Wayne, "A Decade of Hardware/Software Codesign," IEEE Computer, April, 2003, Vol. 36, N. 4, pp. 38-43.


Description

This courses a seminar course, designed to acquaint students with current research activity in Software Systems. Topics will be selected from the broad categories of: compiler optimization, parallel and distributed computing, operating systems, and programming languages. Sub-topics will focus on research problems being studied at the University of Alberta, but the seminar will study techniques and solutions developed all over the world. This is not a lecture-style course. There will be three kinds of activities in the course:


Prerequisites

Students must be admitted to a graduate program (M.Sc. or Ph.D.) in the Department of Computing Science to enroll in this course.


Objectives

After completing the course, students should be familiar with many current research problems in each of the four Software Systems areas that are covered in this course. Students should also be capable of beginning thesis research to solve one or more of the problems discussed. In fact, this course is essential to any student who plans to do thesis research in Software Systems. However, students who elect to do thesis research in other sub-disciplines of Computing Science should gain valuable insight into how software system issues can affect their research problems and solutions.


Course Structure


Essay

Write a 5 page research proposal (12 point times font with 1 inch margins) that is based on the information in one of the papers we read this year in the seminar (either semester). The research proposal should not be about doing the research that has already been done and is described in the paper. Instead, the proposal should be about research that could be done as a result of the research described in the paper. For example, you can start with the "future work" section of the paper. However, you can also include research that you think can be undertaken as a result of what is in the paper. Although you can use ideas from the "future work" secton of the paper, do not simply copy sections from it. The proposal must be in your own words.

The research proposal should include: goals, a plan of how to conduct the research and evaluation criteria that can be used to evaluate the research. It should also includes a discussion of the "State of the Art" in the field where the future research is situated. This discussion of the state of the art gives you an opportunity to review important and relevant past work that is related to or will have an influence in the future research. The paper you are using is the primary source for this information, but you can use other sources as well.


Grades

Your final grade will depend on the entire profile of the grades in the seminar and a particular composite score does not guarantee a particular final grade. However, your composite score will be computed using the following weights:

Participation in Discussion
40%
Presentation
30%
Essay
30%


Some Papers Discussed in (2002/2003)


Some Papers Discussed in (2001/2002)


[University of Alberta]
University of Alberta
[Department of Computing Science]
Computing Science