Philippe Charles
IBM
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Philippe Charles.
conference on object-oriented programming systems, languages, and applications | 2005
Philippe Charles; Christian Grothoff; Vijay A. Saraswat; Christopher Michael Donawa; Allan Kielstra; Kemal Ebcioglu; Christoph von Praun; Vivek Sarkar
It is now well established that the device scaling predicted by Moores Law is no longer a viable option for increasing the clock frequency of future uniprocessor systems at the rate that had been sustained during the last two decades. As a result, future systems are rapidly moving from uniprocessor to multiprocessor configurations, so as to use parallelism instead of frequency scaling as the foundation for increased compute capacity. The dominant emerging multiprocessor structure for the future is a Non-Uniform Cluster Computing (NUCC) system with nodes that are built out of multi-core SMP chips with non-uniform memory hierarchies, and interconnected in horizontally scalable cluster configurations such as blade servers. Unlike previous generations of hardware evolution, this shift will have a major impact on existing software. Current OO language facilities for concurrent and distributed programming are inadequate for addressing the needs of NUCC systems because they do not support the notions of non-uniform data access within a node, or of tight coupling of distributed nodes.We have designed a modern object-oriented programming language, X10, for high performance, high productivity programming of NUCC systems. A member of the partitioned global address space family of languages, X10 highlights the explicit reification of locality in the form of places}; lightweight activities embodied in async, future, foreach, and ateach constructs; a construct for termination detection (finish); the use of lock-free synchronization (atomic blocks); and the manipulation of cluster-wide global data structures. We present an overview of the X10 programming model and language, experience with our reference implementation, and results from some initial productivity comparisons between the X10 and Java™ languages.
international conference on supercomputing | 2014
Frances E. Allen; Michael G. Burke; Philippe Charles; Ron Cytron; Jeanne Ferrante
PTRAN (Parallel TRANslator) is a system for automatically restructuring sequential FORTRAN programs for execution on parallel architectures. This paper describes PTRAN-A: the currently operational analysis phase of PTRAN. The analysis is both broad and deep, incorporating interprocedural information into dependence analysis. The system is organized around a persistent database of program and procedure information. PTRAN incorporates several new, fast algorithms in a pragmatic design.
international conference on data engineering | 2003
Charles Barton; Philippe Charles; Deepak Goyal; Mukund Raghavachari; Marcus Fontoura; Vanja Josifovski
We present a streaming algorithm for evaluating XPath expressions that use backward axes (parent and ancestor) and forward axes in a single document-order traversal of an XML document. Other streaming XPath processors handle only forward axes. We show through experiments that our algorithm significantly outperforms (by more than a factor of two) a traditional nonstreaming XPath engine. Furthermore, our algorithm scales better because it retains only the relevant portions of the input document in memory. Our engine successfully processes documents over 1GB in size, whereas the traditional XPath engine degrades considerably in performance for documents over 100 MB in size and fails to complete for documents of size over 200 MB.
Journal of Parallel and Distributed Computing | 1988
Frances E. Allen; Michael G. Burke; Philippe Charles; Ron Cytron; Jeanne Ferreant
PTRAN (Parallel TRANslator) is a system for automatically restructuring sequential FORTRAN programs for execution on parallel architectures. This paper describes PTRAN-A: the currently operational analysis phase of PTRAN. The analysis is both broad and deep, incorporating interprocedural information into dependence analysis. The system is organized around a persistent database of program and procedure information. PTRAN incorporates several new, fast algorithms in a pragmatic design.
conference on object-oriented programming systems, languages, and applications | 2009
Philippe Charles; Robert M. Fuhrer; Stanley M. Sutton; Evelyn Duesterwald; Jurgen J. Vinju
Full-featured integrated development environments have become critical to the adoption of new programming languages. Key to the success of these IDEs is the provision of services tailored to the languages. However, modern IDEs are large and complex, and the cost of constructing one from scratch can be prohibitive. Generators that work from language specifications reduce costs but produce environments that do not fully reflect distinctive language characteristics. We believe that there is a practical middle ground between these extremes that can be effectively addressed by an open, semi-automated strategy to IDE development. This strategy is to reduce the burden of IDE development as much as possible, especially for internal IDE details, while opening opportunities for significant customizations to IDE services. To reduce the effort needed for customization we provide a combination of frameworks, templates, and generators. We demonstrate an extensible IDE architecture that embodies this strategy, and we show that this architecture can be used to produce customized IDEs, with a moderate amount of effort, for a variety of interesting languages.
automated software engineering | 2007
Philippe Charles; Robert M. Fuhrer; Stanley M. Sutton
Programming language design remains a vital field, with interest in languages targeting concurrency, scripting, and aspects, as well as in domain-specific languages. Full-featured integrated development environments (IDEs) have become critical to the adoption of new languages. A key factor in the success of these IDEs is the provision of services specifically tailored to the language. However, modern IDE frameworks are large and complex, and the cost of constructing a language-specific IDE from scratch remains prohibitive IMP is an IDE meta-tooling platform intended to relieve much of the burden of IDE development in Eclipse. IMP combines a language-independent framework, generators for partial implementations of language-specific services, and support for the completion of service implementations by programming at various levels of abstraction. Unlike much of the previous work, IMP permits signigicant customization of IDE appearance and behavior and accommodates incremental elaboration of the IDE; it also makes significant reuse of code and assists during the IDE development process. IMP-based IDEs are in use in research projects in IBM, including within IMP itself. IMP is available as an open-source release from SourceForge.net
international conference on supercomputing | 2014
Ron K. Cytron; Jeanne Ferrante; Frances E. Allen; Michael G. Burke; Philippe Charles
The PTRAN (Parallel Translator) system at IBM had as its goal the analysis and optimization of sequential programs for parallel architectures. In this paper, we give our perspective on what has changed since PTRAN, and what is still relevant.
Archive | 2002
Charles Barton; Philippe Charles; Deepak Goyal; Mukund Raghavachari
Archive | 1989
Philippe Charles; Gerald A. Fisher
Archive | 2006
Bob Blainey; Philippe Charles; Perry Cheng; Christopher Michael Donawa; Julian Dolby; Robert M. Fuhrer; Patrick Gallop; Christian Grothoff; Allan Kielstra; Sriram Krishnamoorthy; Nathaniel Nystrom; Filip Pizlo; Vijay A. Saraswat; Vivek Sarkar; Armando Solar-Lezama; Christoph von Praun; Jan Vitek