SPLASH 2014
Mon 20 - Fri 24 October 2014 Portland, Oregon, United States

The Summer School on Multicore Programming (MPSS) is a chance to gain extensive, hands-on experience in Java multicore development and the Eclipse platform. Summer School runs from the afternoon of Friday, October 17 through the evening of Sunday, October 19. Integrated lecture-labs will form the basis of the coursework. Teaching assistants will be on-hand to help participants during the lab portions. The Summer School is held as a workshop and not run as an academic program; please be aware that no credit is available for the courses taken.

The following schedule is tentative and likely to change as the Summer School approaches. We reserve the right to make course substitutions and timing changes to fit the needs of our instructors and guest speakers. The dates of the school (17-19 October) will remain the same.

Although snacks, tea and coffee will be provided, the participants are responsible for their own meals (breakfast, lunch, dinner) using a wide selection of eating places within the walking distance.

Registration

The program is limited to 50 participants. The early registration deadline has been extended to October 6, 2014 and the fee is $100. Starting on October 7, the late registration fee will be $150.

Online registration is available through the OSU Markeplace.

Location

The workshop will be held on the Portland State University campus. Room 2500 B, 1900 SW 4th Ave, Portland State University

Directions: Use the atrium entrance to the Engineering Building at 1930 SW 4th Avenue. Go down the stairs one level. From the bottom of the stairs, head NW out of the stairwell and along the corridor. Room 086-01 will be on your right.

Changes from Previous Years

Taking into account past feedback and changes in the nature and direction of multicore programming, we will be offering a curriculum more specific to Java and taught in greater depth than in past years.

Because of this, a strong familiarity with the Java language is absolutely required for those attending. We expect that you have at least two years of coding experience with Java. Those who have worked intensively with Java for less time than that may also qualify, but this knowledge is essential for success in the course. If you are inexperienced with Java programming, you will likely not be able to keep up with the pace of the course.

Participants should be prepared to code and work on the material on their own computers as a part of each class. Attendees should come with multicore laptops loaded with the required software, which will include Eclipse IDE, Java, VisualVM profiler tools, an open-source data race detector (several options will be given), and additional concurrency frameworks. A detailed list of the required software will be provided two weeks before the start of class. It is the participant’s responsibility to make sure the software is installed and operational before class begins on October 17th.

Further Information

For more information contact Danny Dig (digd@eecs.oregonstate.edu) or visit: http://eecs.oregonstate.edu/multicore-programming

Dates
You're viewing the program in a time zone which is different from your device's time zone change time zone

Fri 17 Oct

Displayed time zone: Tijuana, Baja California change

13:00 - 17:00
13:00
30m
Registration
Registration and check-in
Summer School on Multicore Programming

13:30
30m
Talk
Welcome and class overview
Summer School on Multicore Programming

14:00
30m
Talk
Multicore Architecture
Summer School on Multicore Programming

14:30
60m
Talk
Threading Concepts
Summer School on Multicore Programming

15:30
60m
Talk
Parallel Programming Patterns
Summer School on Multicore Programming

16:30
30m
Talk
Programming with Eclipse
Summer School on Multicore Programming

Sat 18 Oct

Displayed time zone: Tijuana, Baja California change

09:00 - 12:00
09:00
3h
Talk
Parallelism with Java Threads and ThreadPools
Summer School on Multicore Programming

13:00 - 17:00
13:00
3h
Talk
Correctness, Thread-safety, and Scalability
Summer School on Multicore Programming

16:00
60m
Talk
Parallelism with with Lightweight Task Framework and Parallel Streams in Java 7/8
Summer School on Multicore Programming

Sun 19 Oct

Displayed time zone: Tijuana, Baja California change

09:00 - 12:00
09:00
3h
Talk
Thread-safety with Atomics* and Concurrent Collections
Summer School on Multicore Programming

13:00 - 17:00
13:00
2h
Talk
Refactoring for Improving Throughput and Scalability
Summer School on Multicore Programming

15:00
2h
Talk
Upcoming Concurrency Libraries in Java
Summer School on Multicore Programming
Doug Lea State University of New York (SUNY) Oswego

Schedule

Title
Correctness, Thread-safety, and Scalability
Summer School on Multicore Programming

Multicore Architecture
Summer School on Multicore Programming

Parallelism with Java Threads and ThreadPools
Summer School on Multicore Programming

Parallelism with with Lightweight Task Framework and Parallel Streams in Java 7/8
Summer School on Multicore Programming

Parallel Programming Patterns
Summer School on Multicore Programming

Programming with Eclipse
Summer School on Multicore Programming

Refactoring for Improving Throughput and Scalability
Summer School on Multicore Programming

Registration and check-in
Summer School on Multicore Programming

Threading Concepts
Summer School on Multicore Programming

Thread-safety with Atomics* and Concurrent Collections
Summer School on Multicore Programming

Upcoming Concurrency Libraries in Java
Summer School on Multicore Programming
Welcome and class overview
Summer School on Multicore Programming

Registration

Online registration is available through: OSU Markeplace.

A strong familiarity with the Java language is absolutely required for those attending. We expect that you have at least two years of coding experience with Java. Those who have worked intensively with Java for less time than that may also qualify, but this knowledge is essential for success in the course. If you are inexperienced with Java programming, you will likely not be able to keep up with the pace of the course.

Participants should be prepared to code and work on the material on their own computers as a part of each class. Attendees should come with multicore laptops loaded with the required software, which will include Eclipse IDE, Java, VisualVM profiler tools, an open-source data race detector (several options will be given), and additional concurrency frameworks. A detailed list of the required software will be provided two weeks before the start of class. It is the participant’s responsibility to make sure the software is installed and operational before class begins on October 17th.

The program is limited to 50 participants. The early registration deadline has been extended to October 6, 2014 and the fee is $100. Starting on October 7, the late registration fee is $150.

FAQ

Q: I am a very competent C# (or C++) programmer, but I have not programmed in Java recently. Should I still attend the course?

A: Although it would help to be familiar with Java syntax, a very skilled OO programmer should be able to pick up Java syntax quite easily. The concepts and frameworks in the course should be still very helpful for C#/C++ programmers, as the parallel concepts and frameworks are very similar to the ones in Java.

Testimonials

“The multicore training for Boeing during the week of Sep. 26th was a success! We were pleased with the well designed course lectures, hands-on programming assignments, and overall delivery of this training. We are most impressed with Professor Dig’s knowledge and enthusiasm in concurrency and parallelism, refactoring, and well-paced delivery of the training to Boeing engineers. We received positive feedback from the attendees about the training through course evaluations and a class retrospective.”

— Homa Ziai-Cook, Associate Technical Fellow at Boeing, organizer of the Boeing course

“Excellent course: relevant, well done, timely. Well worth the time and effort. I would recommend this course to all our developers.”

— Boeing software engineer

“The class was well organized in relation to the content and how it was related to us. The programming exercises kept it from being a dry boring knowledge transfer.”

— Boeing software engineer

Faculty

We will be having lectures from some of the top names in the parallel programming field. More speakers will be revealed closer to the start date of the school. However, we are pleased to announce the following:

Dr. Danny Dig (Oregon State University)

In 2007, Professor Dig earned his Ph.D. in computer science at the University of Illinois. After a postdoctoral appointment at MIT CSAIL, he led research on refactorings that retrofit parallelism. His mission is to make parallel programming synonymous with programming.

Danny will be teaching a series of classes using a curriculum that he has refined and tested both in prior summer schools and in industry courses. The courses have received very high reviews from participants, and we’re confident Danny’s courses will be useful to those wanting to apply parallel programming techniques to Java code.

Dr. Tim Matsson (Intel Corporation)

Co-author of the most influential book on parallel patterns

Tim Mattson earned a Ph.D. for his work on quantum molecular scattering theory (UCSC, 1985). This was followed by a post-doc at Caltech where he worked on the Caltech/JPL hypercubes. Since then, he has held a number of commercial and academic positions with high performance computers as the common thread. Application areas have included mathematics libraries, exploration geophysics, computational chemistry, molecular biology, and bioinformatics.

Dr. Mattson joined Intel in 1993. Among his many roles at Intel, he was applications manager for the ASCI teraFLOPS project, helped create OpenMP, founded the Open Cluster Group (with its cluster package, OSCAR), and launched Intel’s programs in computing for the Life Sciences.

Currently, Dr. Mattson is conducting research on abstractions that bridge across parallel system design, parallel programming environments, and application software. This work builds on his recent book, “Patterns in Parallel Programming,” written with Professors Beverly Sanders and Berna Massingill and published by Addison Wesley. The patterns provide the “human angle” and help keep his research focused on technologies that help general programmers solve real problems.

Tim will be teaching a module on parallel patterns.

Dr. Doug Lea (State University of New York at Oswego)

Lead architect of Java concurrency libraries

Doug Lea is a professor of computer science at the State University of New York at Oswego. He is an author of books, articles, reports, and standardization efforts on object oriented software development including those on specification, design and implementation techniques, distributed, concurrent, and parallel object systems, and software reusability (i.e., “Java Concurrency in Practice” and “Concurrent Programming in Java”); and has served as chair, organizer, or program committee member for many conferences and workshops in these areas. He is the primary author of several widely used software packages and components.

Doug will cover “advanced” components in Java 7 and 8.