|
|
Gediz University, Computer Engineering
Department
Fall
Semester
2013
Monday:
14:00 -
16:45, D114 |
|
Instructor: Halûk
Gümüşkaya |
|
Office:
D107 |
|
Office Hours:
Mon, Tue, Wed: 13:00 - 13:45 |
|
Phone:
0232-355 0000 - 2305 |
|
e-mail: haluk.gumuskaya@gediz.edu.tr |
|
|
|
|
Pages: |
|
|
|
|
|
|
|
|
|
|
Course Description
(3-0-3)
Introduction to what the
cloud is and building reliable software systems and components that
scale to millions of users and petabytes of data, and are always
available. Data Center Networking, Hardware Virtualization, Multi-Core
chips and Multi-core Computing, Grid Computing, Service Oriented
Architecture, Web Services, New Internet Technologies for Cloud
Computing, Cloud Service Classification, Cloud Programming Paradigms,
MapReduce Programming Model, Hadoop, Cloud Algorithms (PageRank,
adsorption, friend recommendation, TF/IDF), Autonomic Computing.
Objectives: This course provides an introduction to the
technologies behind cloud computing. A combination of lectures and
hands-on programming assignments and a term project expose the students
to the leading cloud computing paradigms and programming interfaces
(e.g., Amazon EC2, Hadoop). In addition, lectures provide an overview of
the underlying clustering technologies that make cloud computing
possible (e.g., cluster networking, software DSM, virtual machines). The
students will complete a simple assignment using Amazon EC2 individually
and a term project performed in groups of 2-3 students. In the term
project, the students will build a private Cloud on a PC cluster from
scratch and participate in the design, assembling, configuring, and
benchmarking of the private Cloud system. The software stack may include
Linux, Hadoop, Xen, OpenNebula, and Ganglia. Each project team is
required to prepare a project report, do a live demo and a presentation
at the end of the semester.
Term Project: The
final term project is done individually for such a small class this
year. Sample term project topics include CPU/GPU clusters, virtual
clusters, virtual machine architecture, P2P networks, cloud platforms,
datacenter architecture, Internet of Things, cloud programming
experiments on AWS, innovative applications in the cloud, IoT and social
networks, etc. All project topics must be approved by Prof. Dr.
Gümüşkaya before starting the effort.
Prerequisites
|
Basic understanding of Linux operating
system and some experiences in system level programming (Java, C, or
C++) are required. The students are expected to exercise the systems
configuration and administration under a Linux cluster.
|
|
COM 440 Distributed Systems
(recommended) |
|
COM 362 Computer Networks I
(recommended) |
Lecture Schedule
|
This is the tentative lecture schedule.
Please check this page at least once a week during the semester. |
Textbooks
Textbook
Recommended
|
Mastering Cloud Computing: Foundations and Applications Programming,
R. Buyya, C. Vecchiola, S. T. Selvi, Morgan Kaufmann, 2013.
(Designed for undergraduate students learning to develop cloud
computing applications) |
|
Cloud Computing: Theory and Practice, D. C. Marinescu, Morgan
Kaufmann, 2013. |
|
Cloud Computing: Concepts, Technology and Architecture, T. Erl
et al., Prentice Hall, 2013. |
|
Cloud Computing: Principles and Paradigms, R. Buyya, J. Broberg,
and A. Goscinski (eds), Wiley, 2011. |
|
BIG CPU, BIG DATA:
Solving the World's Toughest Computational Problems with Parallel
Computing, A. Kaminsky, Creative Commons, 2013. |
|
Hadoop:
The Definitive Guide, Tom White, O'Reilly, 2012. |
|
The Fourth Paradigm: Data-Intensive Scientific Discovery, T.
Hey, Tansley and Tolle (Editors), Microsoft Research, 2009. (You can
download the book from its web site). |
Tools
|
.... |
Grading
30 % : Project
20 % :
HW Assignments
20 % :
Midterm
30 % : Final Exam
|