Distributed-Computing
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[ASL Wiki]]
//CENTER:&ref(ds-logo.gif,,20%);
//CENTER:SIZE(30){''Distributed Computing''}
CENTER:SIZE(30){COLOR(#990099){Distributed Computing}}
CENTER:SIZE(15){COLOR(#990099){HUST University, Spring 2014}}
CENTER:&ref(dist.gif,,30%);
//#CONTENTS
----
**Course Information [#s142697e]
//-Instructor: Ben Abdallah Abderazek
-Credit:2.00
-Level: Graduate
//-[[Time Table>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=%3F%B7%EF%B3%D8%B1%A12012%3F%C2%E8%C6%F3%B3%D8%B4%FC%3F%C9%BD.pdf&refer=Distributed-Computing]]
//-[[Students name-list>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=2013_namelist.xls&refer=Distributed-Computing]]
**Course Description [#va630265]
In the last few decades, we have experienced an unprecedented growth in the area of distributed systems and networks. Distributed computing now encompasses many of the activities occurring in today’s computer and communications world. Indeed, distributed computing appears in quite diverse application areas: Typical examples are parallel computers or the Internet. More recent application examples of distributed systems include peer-to-peer systems, cloud, sensor networks, or multi-core architectures. Distributed computing is, then, essential in modern computing and communications systems.
This course introduces principles of distributed computing, highlighting common themes and techniques. In particular, we study some of the fundamental issues underlying the design of distributed systems. Topics covered include software architecture, process management, communication, coordination, locality, fault tolerance, synchronizations, and parallelism.
**Course Objectives and Learning outcomes [#c6e6aa74]
The participants must at the end of the course be able to:
-define and describe fundamental concepts of and techniques in distributed computing.
-apply distributed systems techniques and analyze distributed systems according to desired qualities (such as performance, reliability, or availability).
-compare and distinguish concepts of and techniques in distributed systems with respect to their ability to fulfill desired qualities.
-construct designs distributed systems according to desired qualities by choosing among introduced concepts and techniques.
**Prerequisites [#ya03d666]
-Computer network, OS, C/Java, and some Internet computing knowledge.
**Textbook [#a01bb23d]
-Title: ''Distributed Systems: Principles and Paradigms'', second edition, by Andrew S. Tanenbaum, Maarten ven Steen, Prentice-Hall, 2007.
''&ref(http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/doc/Book-distributed-systems-principles-and-paradigms.pdf,, download digital version);''
**Schedule [#z8545ab2]
-COLOR(blue){3/24 (Monday, 5〜6 and 7〜8)}
--Lecture 1 (14:00〜15:35): ''Introduction to Distributed Computing'' &ref(lec01.pdf,,pdf);
--Lecture 2 (15:55〜17:30): ''Introduction to Distributed Computing (Cont.)''
--Reading: &ref(Chapter_1.pdf,,Chapter1);
--COLOR(gold){Assignment 1} - Chapter 1: Exercises 1, 2, and 5. COLOR(red){Submission: 3/25, 18:00}
----
-COLOR(blue){3/25 (Tuesday, 3〜4 and 5〜6)}
--Lecture 3 (10:10〜11:50): ''Architectures for Distributed Systems''
&ref(lec02.pdf,,pdf);
--Lecture 4 (14:00〜15:35): ''Architectures for Distributed Systems (Cont.)''
&ref(lec02.pdf,,pdf);
--Reading: &ref(Chapter_2.pdf,,Chapter2);
--COLOR(gold){Assignment 2} - Chapter 2: Exercises 1, 2, 3, 10.
COLOR(red){Submission: 3/26, 18:00}
--Laboratory/Project: &ref(http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/lab/lab1/lab1.html,,lab1-2);. COLOR(red){Submission: 4/2, 15:35}
---Refer to this possible output: [[figure1>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig2.jpg&refer=Distributed-Computing]], [[figure2>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig1.jpg&refer=Distributed-Computing]], [[figure3>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig3.jpg&refer=Distributed-Computing]].
---Refer to [[''Network socket Programming''>http://aslweb.u-aizu.ac.jp/benlab/index.php?Distributed-Computing#fd872266]]
---Refer to [[''simple-client.c''>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=simple-client.c&refer=Distributed-Computing]]
----
-COLOR(blue){3/26 (Wednesday, 1〜2 and 3〜4)}
--Lecture 5:'' Distributed Process Management I''
&ref(lec03.pdf,,pdf);
--Reading:
---&ref(Chapter_3.zip,,Chapter3);
---&ref(issue_in_process_migration.pdf,,Paper - Issues in Process Migration, Dec. 2000);
--COLOR(gold){Assignment 3} - Chapter 3: Exercises 1, 3, 4, 6, 15, %%16%% COLOR(red){Submission: 3/27, 18:00}
----
-COLOR(blue){3/27 (Thursday, 3〜4 and 5~6)}
--Lecture 6:'' Distributed Process Management II''
&ref(lec03-2.pdf,,pdf);
-- Reading
---&ref(migration-OpenMP.pdf,,Reparallelization and Migration of OpenMP Programs); ([[Refer to this online material also>http://www.cs.huji.ac.il/wikis/MediaWiki/mosix/index.php/Process_migration_for_OpenMPI]])
--- Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). [["Understanding Code Mobility">http://dx.doi.org/10.1109%2F32.685258]]. IEEE Transactions on Software Engineering (NJ, USA: IEEE Press Piscataway) 24 (5): 342–361.
--COLOR(gold){Assignment 4}
--- Chapter 3: Exercises 14,16,17
---Read this paper &ref(issue_in_process_migration.pdf,,Issues in Process Migration, Dec. 2000); and summarize it in 1 page ONLY.
COLOR(red){Submission: 3/28, 18:00}
----
-COLOR(blue){3/28 (Friday 5~6, 7~8)}
--Lecture 7-8: ''Communication'' &ref(lec04.pdf,,pdf);
---&ref(Winsock_Client_Source_Code.tex,,Complete Winsock Client Source Code);
---&ref(Winsock_Server_Source_Code.tex,,Complete Winsock Server Source Code);
--Reading: &ref(Chapter_4.zip,,Chapter4);
--COLOR(gold){Assignment 5} - ''Chapter 4 : Exercises 1,4,6,7,10,12''. COLOR(red){Submission: 3/29, 18:00}
----
-COLOR(blue){3/29 (Saturday, 1〜2 and 3〜4)}
--Laboratory/Project: ''Continued''
&ref(http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/lab/lab1/lab1.html,,lab1-2);. COLOR(red){Submission: 4/1, 15:35}
---Refer to this possible output: [[figure1>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig2.jpg&refer=Distributed-Computing]], [[figure2>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig1.jpg&refer=Distributed-Computing]], [[figure3>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig3.jpg&refer=Distributed-Computing]].
---Refer to [[''Network socket Programming''>http://aslweb.u-aizu.ac.jp/benlab/index.php?Distributed-Computing#fd872266]]
---Refer to [[''simple-client.c''>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=simple-client.c&refer=Distributed-Computing]]
----
*3/30 - No class. [#k04deae5]
----
-COLOR(blue){3/31 (Monday, 5〜6 and 7〜8)}
--Lecture 9: ''Synchronization'' &ref(lec06.pdf,,pdf);
---Setting up NTP &ref(lec06-2_Setting_up_NTP.ppt,,ppt);
--Reading:
---&ref(Chapter_6.pdf,,Chapter6);
---&ref(lec07-multi.pdf,,Parallel Programming Constructs);
---&ref(time-clocks.pdf,,Time, Clocks, and the Ordering of Events in a Distributed System);
---Optional Reading: &ref(ZhaoLiuLee_PTIDES.pdf,,A Programming Model for Time-Synchronized Distributed Real-Time Systems);
--COLOR(gold){Assignment 6} - ''Chapter 6: Exercises 2, 4, 7, 13, 15.'' COLOR(red){Submission: 4/1, 18:00}
----
-COLOR(blue){4/1 (Tuesday, 3〜4)}
--Lecture 11-12: ''Replications and Consistency I'' &ref(lec07.pdf,,pdf); (SR)
--Course Summary &ref(lec09.pdf,,pdf);
--Reading:
---&ref(Chapter_7.pdf,,Chapter7);
---&ref(tocs02.pdf,,PDF); Design and Evaluation of a Conit-Based
Continuous Consistency Model for
Replicated Services, ACM Transactions on Computer Systems, Vol. 20, No. 3, August 2002, Pages 239–282.
---[[Data caching issues in an information retrieval system>http://dl.acm.org/citation.cfm?id=88636.87848&coll=portal&dl=ACM&idx=J777&part=transaction&WantType=transaction&title=ACM%2520Transactions%2520on%2520Database%2520Systems%2520%2528TODS%2529]], ACM Transactions on Database Systems (TODS) 15(3), September 1990.
--Assignment: none
// 7 - ''Chapter 7: Exercises 2, 3, 9''. COLOR(red){Submission: 4/2, 18:00}.
----
-COLOR(blue){4/1 (Tuesday, 5〜6)}
--Lab1-2: Projects Demonstration
COLOR(red){IMPORTANT NOTE:}
-4/1 (3~4) is the submission (in hard copy) deadline of:
-- One project report per team [[(refer to the report format)>http://aslweb.u-aizu.ac.jp/benlab/index.php?DC-Project]].
----
**Evaluation Method [#kec3098b]
-6 Assignments (45%), Project/Exam (45%), Class activities (10%).
**Assignments Submission [#j7d42fce]
Please submit your reports by e-mail to: COLOR(gold){benab.a3@gmail.com} COLOR(red){(New e-mail.)} Please do not submit to %%benab@u-aizu.ac.jp%%
*Useful References [#fd872266]
-Beej‘s Guide to Network Programming, (Available online) http://beej.us/guide/bgnet/.
-W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff, UNIX Network Programming The sockets networking API, Vol. 1, Adisson Wesley, Inc. ,third edition, 2004
-Sample of Linux socket programming, http://www.cs.utah.edu/~swalton/listings/sockets/programs
-[[Getting Started with Winsock>http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms738545(v=vs.85).aspx]]
-Sample of Linux socket programming,
http://www.cs.utah.edu/~swalton/listings/sockets/programs/
-Introduction to Multi-Threaded Programming,
http://www.linuxjournal.com/article/3138?page=0,0
-POSIX Threads programming,
https://computing.llnl.gov/tutorials/pthreads/
-[[Other references>http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/references.html]]
//-[[DC 2012 course site>DC-2012]]
[[&ref(DC2014.JPG,,100%);>http://aslweb.u-aizu.ac.jp/benlab/index.php?]]
----
Updated on March 25, 2014.
終了行:
[[ASL Wiki]]
//CENTER:&ref(ds-logo.gif,,20%);
//CENTER:SIZE(30){''Distributed Computing''}
CENTER:SIZE(30){COLOR(#990099){Distributed Computing}}
CENTER:SIZE(15){COLOR(#990099){HUST University, Spring 2014}}
CENTER:&ref(dist.gif,,30%);
//#CONTENTS
----
**Course Information [#s142697e]
//-Instructor: Ben Abdallah Abderazek
-Credit:2.00
-Level: Graduate
//-[[Time Table>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=%3F%B7%EF%B3%D8%B1%A12012%3F%C2%E8%C6%F3%B3%D8%B4%FC%3F%C9%BD.pdf&refer=Distributed-Computing]]
//-[[Students name-list>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=2013_namelist.xls&refer=Distributed-Computing]]
**Course Description [#va630265]
In the last few decades, we have experienced an unprecedented growth in the area of distributed systems and networks. Distributed computing now encompasses many of the activities occurring in today’s computer and communications world. Indeed, distributed computing appears in quite diverse application areas: Typical examples are parallel computers or the Internet. More recent application examples of distributed systems include peer-to-peer systems, cloud, sensor networks, or multi-core architectures. Distributed computing is, then, essential in modern computing and communications systems.
This course introduces principles of distributed computing, highlighting common themes and techniques. In particular, we study some of the fundamental issues underlying the design of distributed systems. Topics covered include software architecture, process management, communication, coordination, locality, fault tolerance, synchronizations, and parallelism.
**Course Objectives and Learning outcomes [#c6e6aa74]
The participants must at the end of the course be able to:
-define and describe fundamental concepts of and techniques in distributed computing.
-apply distributed systems techniques and analyze distributed systems according to desired qualities (such as performance, reliability, or availability).
-compare and distinguish concepts of and techniques in distributed systems with respect to their ability to fulfill desired qualities.
-construct designs distributed systems according to desired qualities by choosing among introduced concepts and techniques.
**Prerequisites [#ya03d666]
-Computer network, OS, C/Java, and some Internet computing knowledge.
**Textbook [#a01bb23d]
-Title: ''Distributed Systems: Principles and Paradigms'', second edition, by Andrew S. Tanenbaum, Maarten ven Steen, Prentice-Hall, 2007.
''&ref(http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/doc/Book-distributed-systems-principles-and-paradigms.pdf,, download digital version);''
**Schedule [#z8545ab2]
-COLOR(blue){3/24 (Monday, 5〜6 and 7〜8)}
--Lecture 1 (14:00〜15:35): ''Introduction to Distributed Computing'' &ref(lec01.pdf,,pdf);
--Lecture 2 (15:55〜17:30): ''Introduction to Distributed Computing (Cont.)''
--Reading: &ref(Chapter_1.pdf,,Chapter1);
--COLOR(gold){Assignment 1} - Chapter 1: Exercises 1, 2, and 5. COLOR(red){Submission: 3/25, 18:00}
----
-COLOR(blue){3/25 (Tuesday, 3〜4 and 5〜6)}
--Lecture 3 (10:10〜11:50): ''Architectures for Distributed Systems''
&ref(lec02.pdf,,pdf);
--Lecture 4 (14:00〜15:35): ''Architectures for Distributed Systems (Cont.)''
&ref(lec02.pdf,,pdf);
--Reading: &ref(Chapter_2.pdf,,Chapter2);
--COLOR(gold){Assignment 2} - Chapter 2: Exercises 1, 2, 3, 10.
COLOR(red){Submission: 3/26, 18:00}
--Laboratory/Project: &ref(http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/lab/lab1/lab1.html,,lab1-2);. COLOR(red){Submission: 4/2, 15:35}
---Refer to this possible output: [[figure1>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig2.jpg&refer=Distributed-Computing]], [[figure2>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig1.jpg&refer=Distributed-Computing]], [[figure3>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig3.jpg&refer=Distributed-Computing]].
---Refer to [[''Network socket Programming''>http://aslweb.u-aizu.ac.jp/benlab/index.php?Distributed-Computing#fd872266]]
---Refer to [[''simple-client.c''>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=simple-client.c&refer=Distributed-Computing]]
----
-COLOR(blue){3/26 (Wednesday, 1〜2 and 3〜4)}
--Lecture 5:'' Distributed Process Management I''
&ref(lec03.pdf,,pdf);
--Reading:
---&ref(Chapter_3.zip,,Chapter3);
---&ref(issue_in_process_migration.pdf,,Paper - Issues in Process Migration, Dec. 2000);
--COLOR(gold){Assignment 3} - Chapter 3: Exercises 1, 3, 4, 6, 15, %%16%% COLOR(red){Submission: 3/27, 18:00}
----
-COLOR(blue){3/27 (Thursday, 3〜4 and 5~6)}
--Lecture 6:'' Distributed Process Management II''
&ref(lec03-2.pdf,,pdf);
-- Reading
---&ref(migration-OpenMP.pdf,,Reparallelization and Migration of OpenMP Programs); ([[Refer to this online material also>http://www.cs.huji.ac.il/wikis/MediaWiki/mosix/index.php/Process_migration_for_OpenMPI]])
--- Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). [["Understanding Code Mobility">http://dx.doi.org/10.1109%2F32.685258]]. IEEE Transactions on Software Engineering (NJ, USA: IEEE Press Piscataway) 24 (5): 342–361.
--COLOR(gold){Assignment 4}
--- Chapter 3: Exercises 14,16,17
---Read this paper &ref(issue_in_process_migration.pdf,,Issues in Process Migration, Dec. 2000); and summarize it in 1 page ONLY.
COLOR(red){Submission: 3/28, 18:00}
----
-COLOR(blue){3/28 (Friday 5~6, 7~8)}
--Lecture 7-8: ''Communication'' &ref(lec04.pdf,,pdf);
---&ref(Winsock_Client_Source_Code.tex,,Complete Winsock Client Source Code);
---&ref(Winsock_Server_Source_Code.tex,,Complete Winsock Server Source Code);
--Reading: &ref(Chapter_4.zip,,Chapter4);
--COLOR(gold){Assignment 5} - ''Chapter 4 : Exercises 1,4,6,7,10,12''. COLOR(red){Submission: 3/29, 18:00}
----
-COLOR(blue){3/29 (Saturday, 1〜2 and 3〜4)}
--Laboratory/Project: ''Continued''
&ref(http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/lab/lab1/lab1.html,,lab1-2);. COLOR(red){Submission: 4/1, 15:35}
---Refer to this possible output: [[figure1>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig2.jpg&refer=Distributed-Computing]], [[figure2>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig1.jpg&refer=Distributed-Computing]], [[figure3>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=fig3.jpg&refer=Distributed-Computing]].
---Refer to [[''Network socket Programming''>http://aslweb.u-aizu.ac.jp/benlab/index.php?Distributed-Computing#fd872266]]
---Refer to [[''simple-client.c''>http://aslweb.u-aizu.ac.jp/benlab/index.php?plugin=attach&pcmd=open&file=simple-client.c&refer=Distributed-Computing]]
----
*3/30 - No class. [#k04deae5]
----
-COLOR(blue){3/31 (Monday, 5〜6 and 7〜8)}
--Lecture 9: ''Synchronization'' &ref(lec06.pdf,,pdf);
---Setting up NTP &ref(lec06-2_Setting_up_NTP.ppt,,ppt);
--Reading:
---&ref(Chapter_6.pdf,,Chapter6);
---&ref(lec07-multi.pdf,,Parallel Programming Constructs);
---&ref(time-clocks.pdf,,Time, Clocks, and the Ordering of Events in a Distributed System);
---Optional Reading: &ref(ZhaoLiuLee_PTIDES.pdf,,A Programming Model for Time-Synchronized Distributed Real-Time Systems);
--COLOR(gold){Assignment 6} - ''Chapter 6: Exercises 2, 4, 7, 13, 15.'' COLOR(red){Submission: 4/1, 18:00}
----
-COLOR(blue){4/1 (Tuesday, 3〜4)}
--Lecture 11-12: ''Replications and Consistency I'' &ref(lec07.pdf,,pdf); (SR)
--Course Summary &ref(lec09.pdf,,pdf);
--Reading:
---&ref(Chapter_7.pdf,,Chapter7);
---&ref(tocs02.pdf,,PDF); Design and Evaluation of a Conit-Based
Continuous Consistency Model for
Replicated Services, ACM Transactions on Computer Systems, Vol. 20, No. 3, August 2002, Pages 239–282.
---[[Data caching issues in an information retrieval system>http://dl.acm.org/citation.cfm?id=88636.87848&coll=portal&dl=ACM&idx=J777&part=transaction&WantType=transaction&title=ACM%2520Transactions%2520on%2520Database%2520Systems%2520%2528TODS%2529]], ACM Transactions on Database Systems (TODS) 15(3), September 1990.
--Assignment: none
// 7 - ''Chapter 7: Exercises 2, 3, 9''. COLOR(red){Submission: 4/2, 18:00}.
----
-COLOR(blue){4/1 (Tuesday, 5〜6)}
--Lab1-2: Projects Demonstration
COLOR(red){IMPORTANT NOTE:}
-4/1 (3~4) is the submission (in hard copy) deadline of:
-- One project report per team [[(refer to the report format)>http://aslweb.u-aizu.ac.jp/benlab/index.php?DC-Project]].
----
**Evaluation Method [#kec3098b]
-6 Assignments (45%), Project/Exam (45%), Class activities (10%).
**Assignments Submission [#j7d42fce]
Please submit your reports by e-mail to: COLOR(gold){benab.a3@gmail.com} COLOR(red){(New e-mail.)} Please do not submit to %%benab@u-aizu.ac.jp%%
*Useful References [#fd872266]
-Beej‘s Guide to Network Programming, (Available online) http://beej.us/guide/bgnet/.
-W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff, UNIX Network Programming The sockets networking API, Vol. 1, Adisson Wesley, Inc. ,third edition, 2004
-Sample of Linux socket programming, http://www.cs.utah.edu/~swalton/listings/sockets/programs
-[[Getting Started with Winsock>http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms738545(v=vs.85).aspx]]
-Sample of Linux socket programming,
http://www.cs.utah.edu/~swalton/listings/sockets/programs/
-Introduction to Multi-Threaded Programming,
http://www.linuxjournal.com/article/3138?page=0,0
-POSIX Threads programming,
https://computing.llnl.gov/tutorials/pthreads/
-[[Other references>http://web-ext.u-aizu.ac.jp/~benab/classes/distributed/references.html]]
//-[[DC 2012 course site>DC-2012]]
[[&ref(DC2014.JPG,,100%);>http://aslweb.u-aizu.ac.jp/benlab/index.php?]]
----
Updated on March 25, 2014.
ページ名: