Teaching Grid Technologies and Grid Computing to ...

21 downloads 118469 Views 1MB Size Report
ABSTRACT. Grid computing courses are usually designed for PhD. students. ... entered into Computer Science programs originally as ... programming in C, distributed operating systems and basic .... Distributed Systems Online, vol. 9, no.
DIDINFO & DIDACTIG 2017. Univerzita Mateja Bela, Banská Bystrica 2017.

Teaching Grid Technologies and Grid Computing to Undergraduate Students of Computer Science Vladimír Siládi

Ján Astaloš

Faculty of Natural Sciences, Matej Bel University Tajovského 40 974 01 Banská Bystrica, Slovak Republic +421 48 446 7126

Institute of Informatics, Slovak Academy of Sciences Dúbravská cesta 9 845 07 Bratislava, Slovak Republic +421 55 602 5123

[email protected]

[email protected] technology of virtualization, preparation, and administration of computer cluster to join it into the grid infrastructure [6].

ABSTRACT Grid computing courses are usually designed for PhD. students. Usually, undergraduate students have possibility to learn flying information within subjects related to distributed computing, etc. This paper summarizes experience in teaching a subject aimed at grid computing to bachelor students of applied informatics at Matej Bel University. The grid computing course has been developed with relationship to Slovak grid initiative and National project Slovak Infrastructure for High Performance Computing (SIVVP).

3. COURSE DESCRIPTION Our Grid computing course is offered to students as an optional course in a spring term of the 3rd year of their bachelor’s study. The prerequisite is optional course Grid technology, which has got the same structure as the course at UCM [6]. Students should have the knowledge of computer networks, parallel computer architectures, programming in C, distributed operating systems and basic experience with UNIX as an operating system.

Keywords Grid computing. Distributed computing. Computer science education. Best practices. Grid education. Hands-on training.

The Grid Computing course consists of 10 lectures (40 minutes per week) and 10 laboratory sessions (40 minutes per week). The syllabus expects self-study and self-experiments, too. The course provides a practically oriented introduction to current technologies, which is the same as in cited works [3][4].

1. INTRODUCTION Grid technologies and grid computing were new phenomenon at the end of the millennium (since 1997) as a new infrastructure for research of the 21st century [2]. The building of the Large Hadron Collider within CERN has had big influence on this trend. In Slovakia, some growth of the attention of researchers to grid computing could be observed, when the Slovak grid initiative has been established (2005). An availability of the grid infrastructure has opened a need to train its potential users. Mainly, researchers and PhD. students have been users of this infrastructure. A couple of educational forms have been offered to obtain fundamental knowledge and skills, e.g. on-line courses, grid-café by CERN, textbooks, workshops, testbeds, etc. In that time the grid computing entered into Computer Science programs originally as graduate-level topic [9] or within courses of undergraduate-level such as distributed computing or high-performance computing. Our aim was to teach this technologies undergraduate students of computer science (applied informatics) within autonomous subjects. We have begun to implement this kind of courses since 2006.

An e-learning course was developed as a source of basic study materials. In comparison with the cited papers [3][4][8][10][10], our course has been focused on four basic areas: 1) The grid infrastructure and virtual organizations, 2) Safety in the grid, 3) Using the grid through a command line, and 4) Using a Scheduler to Submit a Job.

3.1 Labs Students in the labs have to solve a couple of problems. First of all, they generate a pair of keys to login on the grid user interface and then they generate a private key and a certificate request to issue a grid certificate by certification authority. The virtual Linux labs server is used for these activities. The pair of keys is generated by PuttyKeyGen, too. Students have got the possibility to try both, Windows and Linux platforms. Following tasks are designed to gain skills in using of the grid infrastructure by middleware gLite. They learn to create a job submission file, submit the job to the gLite resource allocation and agreement. Experiments are made with sequential programs and parallel programs written in C language. The sequential programs include three cases: with implicit input/output files (standard input/output), with explicit input/output files and with parametric input. In case of parallel programs, the students adapt parallel program for matrix multiplication for the grid environment using MPI framework (usually copy and paste from free examples). A special problem are DAG (Direct Acyclic Graph) jobs, because it is hard to find a suitable testbed. We were able to test it only once in virtual organization VOCE (in case of preparation of a bachelor thesis).

2. RELATED WORKS Published works describe activities which are dated to the same period as process at our university. A part of publications, which deal with the presented topic, are focused on PhD students [3][4][5] and papers from universities in the USA have got the target group of undergraduate students [1][9][10][10]. A generalization of learning material for both kinds of students has been done e.g. by B. Wilkinson in book Grid Computing: Techniques and Applications [8]. All of them deal with middleware Globus. In our case, we did experiments with middleware Condor, at the beginning. Very specific field of grid computing, which is interesting for limited group of students (researchers), has found some support by e-learning or MOOCs [6][7]. In case of the course at the University of Ss. Cyril and Methodius (UCM), the course is aimed at the

3.2 Testbed Implementation of experiments by students was a problem in the beginning, because the grid infrastructure of SlovakGrid could be

195

DIDINFO & DIDACTIG 2017. Univerzita Mateja Bela, Banská Bystrica 2017. used only for research purposes. We could use the virtual organization VOCE, but it would be illegal and unfair. Teachers used screenshots of a real response on a user interface, when the VOCE was used to demonstrate real use cases. Testbed GILDA was not suitable for students due to the end of its services and reliability.

5. CONSLUSION At this time the grid technologies have been included into category PaaS of cloud computing services. Therefore, both subjects Grid technologies and Grid computing have been included in new, more general courses: Grid and cloud technologies and Grid and cloud computing, to reflect current trends in this area, because the current form of grid computing has got actually two ways: cluster computing (quasi-return) and cloud computing in research cloud infrastructure.

Institute of Informatics of Slovak Academy of Sciences has helped us. It has provided a testbed for our students to run experiments (all except DAG). The test grid is primarily designed to test updates of the middleware gLite. It consists of three servers, one is hosting all necessary grid services (User Interface, Top level BDII, Workload Management System and Logging & Bookkeeping service, MyProxy, Logical File Catalogue, as well as testing Grid site: Site BDII, Storage Element and Computing Element with one Worker Node) inside virtual machines and two other servers were added as Worker Nodes for testing MPI parallel applications. Current hardware configuration of primary server is: IBM System x3250 M5, Intel Xeon CPU E3-1241 v3 @ 3.50GHz, 8GB RAM and 1TB disk. Two additional Worker Nodes are based on older PC servers with hardware configuration: Intel Core2 Quad CPU Q8300 @ 2.50GHz, 4GB RAM and 750GB disk. X509 testing certificates are issued using dedicated TestGrid Certification Authority (based on openssl ca) which is located on primary server. Thirty accounts have been created for students. Students use their pair of keys to login. Virtual organization TESTVO is available to simulate a real virtual organization.

REFERENCES [1] APON, A., BAKER, M. Teaching Condor Grid Computing to Beginning Programming Students. In: EEE Distributed Systems Online, 2007. vol. 8, no. 4, art. no. 0704-o4002. [2] Ian FOSTER. I., KESSELMAN, C. (Eds.). The Grid: Blueprint for a New Computing Infrastructure, 1998. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. ISBN 1-55860-475-8. [3] PETCU, D. Teaching Grid Technologies to PhD Students, Part 1: Using Best Practices to Build the Course, 2008. In: IEEE Distributed Systems Online. vol. 9, no. 3, 2008, art. no. 0803-o3002. [4] PETCU, D. Teaching Grid Technologies to PhD Students, Part 2: Course Structure and Experiences. 2008, In: IEEE Distributed Systems Online, vol. 9, no. 4, 2008, art. no. 0804o4001.

4. RESULTS The number of participants in the course changes year by year. It depends on study programs accreditation (years 2007, 2008), interest in study program and university, quality of students, etc. The number of course participants is showed in Table 1. The information system contains records about distance students since 2012, therefore the cells corresponding to years before 2012 contain question marks. An updated course Grid and cloud computing has been moved to master study since 2016 and the original course Grid computing is going to be finished in year 2018 (two rows in the cases A and D, years 2016 and 2017) within the ERASMUS schema.

[5] ŠIMON, M., HURAJ, L., HOSŤOVECKÝ, M.: IPv6 Network DDoS Attack with P2P Grid. In: Creativity in Intelligent, Technologies and Data Science. Springer International Publishing, 2015. pp. 407-415. [6] ŠKRINÁROVÁ, J., VESEL, E. Model of education and training strategy for the high performance computing. In ICETA 2016. 14th IEEE international conference on emerging eLearning technologies and applications, November 24-26, 2016, Starý Smokovec, Slovakia [elektronický zdroj]. 1. vyd. - [s. l.] : IEEE, 2016. ISBN 9781-5059-4701-7, cD-ROM, s. 315-320. Also available at: http://ieeexplore.ieee.org/document/7802080/

2008

2009

2010

2011

2012

2013

2014

2015

17

36

30

25

14

52

35

25

39

[7] VESEL, E., ŠKRINÁROVÁ, J. Teaching effectiveness of high-performance computing using an online course. In International education and research journal. Ahmedabad, Gujarat : Adhiyamaan college of engineering, 2016. vol. 2, no. 7, pp. 96-97. ISSN 2454-9916.

2017

2007

1

2016

2006

Year

Table 1. Number of participating students

27 25 / / 37 31 ? ? ? ? ? ? 27 13 17 8 8 8 B 22 12 5 7 8 8 5 4 6 8 2 C 21 n 1 1 12 4 n 17 6 7 15 10 14 / / D 31 30 ? ? ? ? ? ? n n 11 0 n 5 E 6 1 0 1 0 0 0 0 1 0 0 F 21 Number of students: A – applied informatics (full-time study), B – applied informatics (distance study), C – teacher students, D – participating course cat. A, E – participating course cat. B, F – participating course cat. C. n – course not offered. A

[8] WILKINSON, B. Grid Computing: Techniques and Applications (1st ed.), 2009.Chapman & Hall/CRC. ISBN 1420069535. [9] WILKINSON, B., FERNER, C. Towards a top-down approach to teaching an undergraduate grid computing course. In Proceedings of the 39th SIGCSE technical symposium on Computer science education (SIGCSE '08), 2008. ACM, New York, NY, USA, 126-130. DOI=http://dx.doi.org/10.1145/1352135.1352179 [10] WILKINSON, B., FERNER, C. Teaching Grid Computing in North Carolina: Part I. In: IEEE Distributed Systems Online, 2006. vol. 7, pp. 3. ISSN: 1541-4922.

The course was offered for university researchers a couple times too and also for students at University of Applied Sciences in Oulu (Finland) and at Liepaja University (Latvia).

[11] WILKINSON, B., FERNER, C. Teaching Grid Computing in North Carolina: Part II. In: IEEE Distributed Systems Online, 2006. vol. 7, no. 7, 2006, art. no. 0607-o7003.

196