Ian MackieUniversity of Dundee
Title: Objects, Components and Numerical Methods In a Multi-core Distributed World
Abstract: The world of computing has changed tremendously in recent years, both on the software and hardware side. In software engineering object oriented and component oriented programming methods have become the dominant paradigm in many areas of application. On the hardware side virtually all computers now have multiple cores and are interconnected via networks and the internet. This latter development means that computing is no longer serial, but parallel and distributed. This seminar will look at the application of object and component oriented methods to numerical software, and their relevance to distributed and parallel computing. Object oriented programming provides much richer data modelling capabilities, while component oriented design aids with isolating and handling complexity. These features will be demonstrated within the context of finite element modelling and iterative equation solvers. The use of object oriented methods in comparison to technologies such as MPI and OpenMP will be considered in terms of distributed and parallel computing, in particular the advantages of remote objects. Finally consideration will be given to speed issues of .NET programs compared to C++ code.