CARMINE SPAGNUOLO | CONCURRENT, PARALLEL AND CLOUD PROGRAMMING
CARMINE SPAGNUOLO CONCURRENT, PARALLEL AND CLOUD PROGRAMMING
cod. 0522500102
CONCURRENT, PARALLEL AND CLOUD PROGRAMMING
0522500102 | |
COMPUTER SCIENCE | |
EQF7 | |
COMPUTER SCIENCE | |
2024/2025 |
OBBLIGATORIO | |
YEAR OF COURSE 1 | |
YEAR OF DIDACTIC SYSTEM 2016 | |
SPRING SEMESTER |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
INF/01 | 4 | 32 | LESSONS | |
INF/01 | 2 | 16 | LAB |
Objectives | |
---|---|
THE COURSE AIMS TO PROVIDE STUDENTS WITH THE SKILLS NECESSARY FOR DESIGNING AND DEVELOPING SOFTWARE SOLUTIONS THAT LEVERAGE PARALLEL AND/OR DISTRIBUTED COMPUTING EXPERIMENTING WITH CLOUD COMPUTING SYSTEMS THROUGH THE INFRASTRUCTURE AS A SERVICE (IAAS) SERVICE MODEL. [KNOWLEDGE AND UNDERSTANDING] THE STUDENT WILL: - UNDERSTAND THE PRINCIPLES OF CONCURRENT PROGRAMMING; - UNDERSTAND THE STRUCTURE OF DISTRIBUTED MEMORY COMPUTING SYSTEMS; - ACQUIRE KNOWLEDGE OF THE FUNDAMENTALS OF DESIGNING AND DEVELOPING SCALABLE COMPUTING SYSTEMS THAT LEVERAGE CLOUD COMPUTING. [APPLYING KNOWLEDGE AND UNDERSTANDING] THE STUDENT WILL BE ABLE TO: - DESIGN A SOFTWARE SYSTEM CAPABLE OF LEVERAGING PARALLEL AND DISTRIBUTED PROCESSING; - DEVELOP DISTRIBUTED MEMORY APPLICATIONS USING HPC PROGRAMMING STANDARDS; - EXECUTE HIGH-PERFORMANCE APPLICATIONS ON VIRTUAL CLUSTERS RUNNING ON CLOUD COMPUTING SYSTEMS. [MAKING JUDGEMENTS] THE STUDENT WILL BE ABLE TO: - EVALUATE THE PERFORMANCE AND RELIABILITY OF SCALABLE SYSTEMS THAT UTILIZE PARALLEL AND DISTRIBUTED COMPUTING; - ESTIMATE THE ECONOMIC COST AND MANAGEMENT OF VIRTUAL CLUSTERS RUNNING ON CLOUD COMPUTING SYSTEMS. [COMMUNICATION SKILLS] THE STUDENT WILL BE ABLE TO: - COMMUNICATE THE DESIGN RESULTS AND UNDERLYING CHOICES FOR A SYSTEM THAT UTILIZES SHARED AND/OR DISTRIBUTED MEMORY TO ENSURE SCALABILITY AND EFFICIENCY. [LEARNING SKILLS] THE STUDENT WILL BE ABLE TO: - PERFORM DESIGN ACTIVITIES FOR SCALABLE AND RELIABLE SYSTEMS FOR HIGH-PERFORMANCE COMPUTING RUNNING ON CLOUD COMPUTING PLATFORMS; - UTILIZE SOFTWARE DEVELOPMENT TOOLS FOR HIGH-PERFORMANCE SYSTEMS; - CONTINUOUSLY UPDATE THEIR KNOWLEDGE BY USING TECHNICAL AND SCIENTIFIC LITERATURE. |
Prerequisites | |
---|---|
THE STUDENT MUST HAVE ACQUIRED KNOWLEDGE ON THE ARCHITECTURE OF NETWORKS AND TCP / IP PROTOCOLS AND CLIENT/SERVER PROGRAMMING. THE STUDENT MUST ALSO HAVE A SIGNIFICANT PROGRAMMING EXPERIENCE IN JAVA AND C AND OPERATING SYSTEMS, AND MUST BE ABLE TO USE PROFICUOSULY AN INTEGRATED DEVELOPMENT ENVIRONMENT. |
Contents | |
---|---|
(FOR EACH ARGUMENT WE INDICATE THE HOURS OF TEACHING (FRONT LESSON F) AND LABORATORY (L)) •INTRODUCTION TO CONCURRENT PROGRAMMING 2F •MUTUAL EXCLUSION 4F •CONCURRENT OBJECTS 2F •SPIN LOCKS 2F •MONITORS 4F •LINKED LIST 4F •CONCURRENT QUEUE 4F •SCHEDULING AND WORK DISTRIBUTION 4F •INTRODUCTION TO PARALLEL PROGRAMMING 2F •MPI: CONCEPTS 1F •COMMUNICATION POINT-TO-POINT IN MPI: BLOCKING AND NON-BLOCKING COMMUNICATION 1F+4L •NON CONTIGUOUS DATA IN MPI 1F + 4L •COLLECTIVE COMMUNICATION IN MPI 1F+4L •USING A CLUSTER IN MPI 2L •CLOUD COMPUTING ON AWS 2L |
Teaching Methods | |
---|---|
THE COURSE IS MADE UP BY A FOUNDATIONAL PART (4 CFU 32 HOURS) , DEALING WITH THE PRINCIPLES OF CONCURRENT COMPUTING (ALGORITHMS AND DATA STRUCTURE) PARALLEL COMPUTING (MPI PROGRAMMING) AND CLOUD COMPUTING (AMAZON AWS) AND A PRACTICAL PART (2 CFU 16 HOURS) DEALING WITH THE DEVELOPMENT OF SIMPLE PARALLEL APPLICATIONS IN C-MPI AND THEIR BENCHMARKING ON AMAZON CLOUD. |
Verification of learning | |
---|---|
SIX EXAM SESSIONS DURING THE WHOLE ACADEMIC YEAR, IN ADDITION TO TWO SPECIAL ONES RESERVED TO STUDENTS WHO LACK A FEW EXAMS FOR THEIR DEGREE. EACH SESSION IS PROVIDED WITH A PROJECT TEST (THAT MUST BE COMPLETED WITHIN A MONTH) AND AN ORAL TEST. THE RESULTING MARK IS CALCULATED USING A WEIGHTED AVERAGE OF THE TWO TEST MARKS. |
Texts | |
---|---|
•"THE ART OF MULTIPROCESSOR PROGRAMMING", M. HERLIHY E N. SHAVIT. •"JAVA CONCURRENCY IN PRACTICE". BRIAN GOETZ ET AL. •"PARALLEL PROGRAMMING IN C WITH MPI AND OPENMP", MICHAEL J. QUINN •"AN INTRODUCTION TO PARALLEL PROGRAMMING", PETER PACHECO •MPI TUTORIAL, ARTICLES AND ADDITIONAL MATERIAL ON THE WEBSITE |
More Information | |
---|---|
INFORMATION ABOUT EACH CLASS AND EAMPLES DISCUSSED DURING THE COURSE ARE AVAILABLE ON THE FACULTY LEARNING PLATFORM, WITH TRACES OF EXAMS AND OTHER SUPPORTING MATERIAL (PROGRAMMING MANUALS, TUTORIALS, READING MATERIAL) HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM |
BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2025-01-27]