Nasser Giacaman

Learn More
With the advent of multi-core processors, desktop application developers must finally face parallel computing and its challenges. A large portion of the computational load in a program rests within iterative computations. In object-oriented languages these are commonly handled using iterators which are inadequate for parallel programming. This paper(More)
As multicores arrive for mainstream desktop systems, developers must invest the effort to parallelize their applications. We present Parallel Task (short ParaTask), a solution to assist the parallelization of object-oriented applications, with the unique feature of including support for the parallelization of graphical user interface (GUI) applications. In(More)
Parallel computing is notoriously challenging due to the difficulty in developing correct and efficient programs. With the arrival of multi-core processors for desktop systems, desktop applications must now be parallelised. However achieving task parallelism for such object-oriented programs has traditionally been, and still remains, difficult. This paper(More)
With the arrival of multi-cores for mainstream desktop systems, developers must invest the effort of parallelising their applications in order to benefit from these systems. However, the structure of these interactive desktop applications is noticeably different from the traditional batch-like applications of the engineering and scientific fields. We(More)
Incremental parallelism is an uncomplicated and expressive parallelisation practice and has led to wide adoption of OpenMP. However, the OpenMP specification does not present a binding for the Java language and the OpenMP threading model finds limited use for GUI (Graphical User Interface) application development. Our research strives towards supporting(More)
The need to parallelise desktop applications is becoming increasingly essential with the mainstream adoption of multi-cores. In object-oriented languages, sequential iterators handle iterative computations of a sequential program; similarly, the parallel iterator was developed to handle the iterative computations of a parallel program. This paper presents(More)
This paper details recent experience in teaching parallel computing concepts to undergraduate Computer Science students. By taking a practical approach in delivering the material, students are shown to have grasped essential multi-threading concepts in Java, ensuring they are able to implement the necessary skills themselves. The motivation for parallel(More)
Parallel computing is notoriously challenging, making it difficult to develop efficient and correct programs. With the arrival of multicore processors, desktop environments must be parallelised if they are to benefit from these new processors. However, the parallelisation of desktop environments entails even more challenges than that in a typical parallel(More)