EPSRC logo
 Home | GoW Home | Back | Programme | Scheme | Topic | Sector | Theme | Region | Organisation     
 
Details of Grant
 
EPSRC Reference: EP/C536991/1
Title: A lazy polytypic grid: Generic data visualization methods that adapt to resources available
Principal Investigator: Dr D Duke
Other Investigators:
Researcher Co-investigator:
Project Partner:
Department: Sch of Computing
Organisation: University of Leeds
Scheme: Standard Research
Starts: 28 November 2005 Ends: 27 December 2008 Value (£): 182,309
EPSRC Research Topic Classifications:
User Interface Technologies
EPSRC Industrial Sector Classifications:
No relevance to Underpinning Sectors
Related Grants:
EP/C537009/1
Panel History:  
Summary
Middleware and programming systems have a common aim, to provide access to computing services while hiding the lower-level details needed to provide services. Historically, the development of programming languages such as Algol and C was an advance that allowed access to CPU services (computations) while abstracting away from details of the physical machine. Today, middleware and libraries such as Globus, OpenGL, and VTK likewise provide a level of abstraction between the programmer and lower-level services (in this case, high-performance computing tasks, graphical rendering, and visualization, respectively).

The vision driving e-science is the ability to carry out (large scale) scientific research supported by distributed computing resources connected by high performance networks. Grid computing is one part of this vision. It aims to allow grid users (e.g. scientists) to run programs that require large amounts of CPU time, data, or access to specialised resources, without concern for where those resources are located. Data visualization programs are good examples of the kind of application envisioned; visualization is a fundamental tool in scientific research, and large data sets are often in the range of gigabytes to terabytes in size. Powerful visualization software is available to work on such problems, but it (and other programming systems that run over the grid) still use essentially the same kind of abstractions as were developed for writing applications before the grid.

A fundamental computer science challenge posed by e-science and grid computing is to take programming abstraction one stage further, and separate concerns about what a grid application must achieve from concerns over the specific resources on which it might be deployed, while still allowing the application to adapt itself (at run-time) to take best advantage of the specific resources that are made available to it. That is, the challenge is to allow developers to abstract away from details of the grid, while still benefiting from the distributed network of resources that it provides. One promising source of new abstractions comes from research within the programming systems community, particularly on pure functional programming languages. Polytypic programming, a new way of writing generic programs, seems to match the need of designing (visualization) algorithms that can operate on a range of data representations. Another idea first developed in the functional community, computing "on demand", has also recently been used within visualization systems, though in an explicit way that intrudes into the definition of programs.

Using functional abstractions and programming techniques could be a significant benefit to grid-based visualization and other future applications of the grid. Our proposal is to take four advances from research into programming languages and systems to create visualization applications that adapt autonomically and flexibly to grid resources, allowing developers and specialists to concentrate on the application problem.
Final Report Summary
Middleware and programming systems have a common aim, to provide access to computing services while hiding the lower-level details needed to provide services. Historically, the development of programming languages such as Algol and C was an advance that allowed access to CPU services (computations) while abstracting away from details of the physical machine. Today, middleware and libraries such as Globus, OpenGL, and VTK likewise provide a level of abstraction between the programmer and lower-level services (in this case, high-performance computing tasks, graphical rendering, and visualization, respectively).

The vision driving e-science is the ability to carry out (large scale) scientific research supported by distributed computing resources connected by high performance networks. Grid computing is one part of this vision. It aims to allow grid users (e.g. scientists) to run programs that require large amounts of CPU time, data, or access to specialised resources, without concern for where those resources are located. Data visualization programs are good examples of the kind of application envisioned; visualization is a fundamental tool in scientific research, and large data sets are often in the range of gigabytes to terabytes in size. Powerful visualization software is available to work on such problems, but it (and other programming systems that run over the grid) still use essentially the same kind of abstractions as were developed for writing applications before the grid.

A fundamental computer science challenge posed by e-science and grid computing is to take programming abstraction one stage further, and separate concerns about what a grid application must achieve from concerns over the specific resources on which it might be deployed, while still allowing the application to adapt itself (at run-time) to take best advantage of the specific resources that are made available to it. That is, the challenge is to allow developers to abstract away from details of the grid, while still benefiting from the distributed network of resources that it provides. One promising source of new abstractions comes from research within the programming systems community, particularly on pure functional programming languages. Polytypic programming, a new way of writing generic programs, seems to match the need of designing (visualization) algorithms that can operate on a range of data representations. Another idea first developed in the functional community, computing "on demand", has also recently been used within visualization systems, though in an explicit way that intrudes into the definition of programs.

Using functional abstractions and programming techniques could be a significant benefit to grid-based visualization and other future applications of the grid. Our proposal is to take four advances from research into programming languages and systems to create visualization applications that adapt autonomically and flexibly to grid resources, allowing developers and specialists to concentrate on the application problem.
Further Information:  
Organisation Website: http://www.leeds.ac.uk
Terms and conditions