The amount of information which can be handled by computers is drastically increasing. The information affects trend analyses of the economy and scientific research areas, e.g., biology and physics, as well as Web search engines. Since it is currently a big issue that we can efficiently manage and utilize such a large amount of data, solving this is expected to lead to an effective use of the data. Therefore, many studies have been conducted to deal with this issue by using the parallel computer systems with modern high performance hardware.
In this course, we learn new concepts and technologies on parallel computation for managing and processing a large amount of data.
The objective of this course is to learn the concepts, computation models, and techniques for new parallel computing. We mainly focus on the new computer systems with modern high performance hardware from two aspects: cloud computing from a macro viewpoint and data management for manycore processors from a micro viewpoint.
2. Key-value store, data model
3. Consistency models for cloud data store
4. MapReduce framework
5. Text processing with MapReduce
6. Graph algorithms for MapReduce
7. Memory hierarchy and high performance computing
8. Cache-conscious data placement
9. Cache-conscious search algorithms
10. Atomic operation, synchronization
11. Lock-free algorithms (1)
12. Lock-free algorithms (2)
13. Software transactional memory
14. Hardware transactional memory
15. Advanced topics
1. J. Lin, C. Dyer, "Data-Intensive Text Processing with MapReduce", Morgan & Claypool Publisher, 2010
2. T. Harris, J. Larus, R. Rajwar, "Transactional Memory", 2nd edition, Morgan & Claypool Publisher, 2010
Related Courses: Advanced Computer Architectures, Advanced Data Engineering, Concurrent System Theory
Assignments (40%) and Term exam (60%)