|
|
Gediz University, Computer Engineering
Department
Fall
Semester
2015
Tuesday:
09:00 -
11:45, A-Z04 |
|
Instructor: Halûk
Gümüşkaya |
|
Office:
D107 |
|
Office Hours: |
|
Phone:
0232-355 0000 - 2305 |
|
e-mail: haluk.gumuskaya@gediz.edu.tr |
|
|
|
|
Pages: |
|
|
|
|
|
|
|
|
|
|
Course Description
(3-0-3)
Distributed System Models
and Enabling Technologies, Computer Clusters for Scalable Computing,
Virtual Machines and Virtualization of Clusters and Datacenters, Cloud
Platform Architecture over Virtualized Data Centers: Data Center Design
and Networking, Cloud Computing Service Models, Major Cloud Service
Providers. Service Oriented Architectures. Cloud Programming and
Software Environments: MapReduce and Hadoop Framework, Grid Computing,
Internet of Things.
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, OpenStack, and OpenNebula. 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 or performed in groups of 2-3
students for such a small class this
year. Sample term project topics include CPU/GPU clusters, virtual
clusters, virtual machine architecture, 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
and Platforms
|
Public cloud platforms: Amazon Web
Services, Google
App Engine, Microsoft Azure,
Heroku, .... |
|
FutureSystems -
Indiana University Clusters,
our project
portal
address, and
all projects.
|
|
Virtualization software (Oracle
VM Box, VMware, KVM, Xen, ...) |
|
Hadoop Ecosystem - Cloud
software tools to develop and run data-intensive applications that
run on local powerful notebooks and on a cloud service platform such
as Amazon Elastic
MapReduce, Google
Hadoop Platform,
Microsoft Hadoop or
IBM Hadoop )
|
|
Cloud computing platforms (OpenStack,
OpenNebula, ...) |
|
CloudSim - A
framework for modeling and simulation of cloud computing
infrastructures and services |
|
Java development environments
|
Grading
25 % : Midterm Exam I
25 % :
Midterm Exam II
20 % :
Homework
30 % : Final Exam
|