Demo Data from EDBT 2026 / reviewers in the wild / expert
Philip H. Sweany
dblp:s/PhilipHSweany
· DBLP profile ↗
11ranked-venue papers
1as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 7 · 1 first-authorSoftware engineering, systems software and programming languages · 3Human-computer interaction and ubiquitous computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
2 papers |
Compilers and program optimization · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Processor architecture and microarchitecture · 100% |
Topics — the 5 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › instruction scheduling
global instruction scheduling |
0.0 | 1 | 1992 | Dominator-path scheduling: a global scheduling method · MICRO 1992 |
Compilers and program optimization
instruction scheduling |
0.0 | 1 | 1992 | Dominator-path scheduling: a global scheduling method · MICRO 1992 |
Compilers and program optimization › compiler construction
retargetable compilation |
0.0 | 1 | 1988 | Horizon: A Retargetable Compiler for Horizontal Microarchitectures · IEEE Trans. Software Eng. 1988 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 1 | 1992 | Dominator-path scheduling: a global scheduling method · MICRO 1992 |
Processor architecture and microarchitecture
superscalar processor |
0.0 | 1 | 1992 | Dominator-path scheduling: a global scheduling method · MICRO 1992 |
Methods — techniques the papers use, named apart from their topics
dominator tree · 0.0retargeting · 0.0microcode optimization · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Debugging teacher certification (abstract only)abstractThe need for workers in the information technology and computing industry is on the rise. Code.org estimates that by 2020, there will be more that 1 million more computer jobs available than there will be computer science graduates to fill them. Efforts, by organizations such as the Computer Science Teachers Association (CSTA) and code.org, to attract students to information technology and computing appear to be working. While it appears that there will be students to teach, will there be qualified teachers to teach them? The CSTA report "Bugs in the System: Computer Science Teacher Certification in the U.S." asserts that the "certification/licensure processes for Computer Science in the U.S. are deeply flawed." The goal of this session is to bring together educators from the high school and college level to discuss what the CS Education community needs to do to address this problem. Jian Zhang 0036, Philip H. Sweany |
SIGCSE | 2 |
| 2008 | FPGA implementations of elliptic curve cryptography and Tate pairing over a binary field
Philip H. Sweany, Dijiang Huang |
J. Syst. Archit. | 3 |
| 2007 | Feasibility of decoupling memory management from the execution pipeline
Wentong Li 0003, Mehran Rezaei, Krishna M. Kavi, Afrin Naz, Philip H. Sweany |
J. Syst. Archit. | 5 |
| 2004 | Automatic data partitioning for the agere payload plus network processorabstractWith the ever-increasing pervasiveness of the Internet and its stringent performance requirements, network system designers have begun utilizing specialized chips to increase the performance of network functions. To increase performance, many more advanced functions, such as traffic shaping and policing, are being implemented at the network interface layer to reduce delays that occur when these functions are handled by a general-purpose CPU. While some designs use ASICs to handle network functions, many system designers have moved toward using programmable network processors due to their increased exibility and lower design cost. In this paper, we describe a code generation technique designed for the Agere Payload Plus network processor. This processor utilizes a multi-block pipeline containing a Fast Pattern Processor (FPP) for classification, a Routing Switch Processor (RSP) for traffic management and a third block, the Agere Systems Interface (ASI), which provides additional functionality for performance. This paper focuses on code generation for the clustered VLIW compute engines on the RSP. Currently, due to the real-time nature of the applications run on the APP, the programmer must lay out and partition the application-specific data by hand to get good performance.The major contribution of this paper is to remove the need for hand partitioning for the RSP compute engines. We propose both a greedy code-generation approach that achieves harmonic mean performance equal to code that has been hand partitioned by an application programmer and a genetic algorithm that achieves a harmonic mean speedup of 1.08 over the same hand-partitioned code. Achieving harmonic mean performance that is equal to or better than hand partitioning removes the need to hand code for performance. This allows the programmer to spend more time on algorithm development. Steve Carr 0001, Philip H. Sweany |
CASES | 2 |
| 2003 | An experimental evaluation of scalar replacement on scientific benchmarksabstractAbstract This paper describes our experiments comparing multiple scalar replacement algorithms to evaluate their effectiveness on entire scientific application benchmarks within the context of a production‐level compiler. We investigate at what point aggressive scalar replacement becomes detrimental and which dependence tests are necessary to give scalar replacement enough information to be effective. As many commercial optimizing compilers may include some version of scalar replacement as an optimization, it is important to determine how aggressive these algorithms need to be. Previously, no study has examined ‘how much’ scalar replacement is sufficient and effective within the context of an existing highly optimizing compiler. Our experiments show that, on whole programs, simple algorithms and simple dependence analysis capture nearly all opportunities for scalar replacement found in scientific application benchmarks. While additional aggressiveness may lead to some performance gain in some individual loops, it also leads to performance degradation too often to be worth the risk when considering entire applications. Algorithms restricted to value reuse over at most one loop iteration and to fully redundant array references give the best results. Our experiment further shows that scalar replacement is not only an effective optimization, but also a feasible one for commercial optimizers since the simple algorithms are not computationally expensive. Based upon our findings, we conclude that scalar replacement ought to be a part of any highly optimizing compiler because of its low cost and significant potential gain. Copyright © 2003 John Wiley & Sons, Ltd. Steve Carr 0001, Philip H. Sweany |
Softw. Pract. Exp. | 2 |
| 2000 | Register Assignment for Software Pipelining with Partitioned Register BanksabstractMany techniques for increasing the amount of instruction-level parallelism (ILP) put increased pressure on the registers inside a CPU. These techniques allow for more operations to occur simultaneously at the cost of requiring more registers to hold the operands and results of those operations, and importantly, more ports on the register banks to allow for concurrent access to the data. One approach of ameliorating the number of ports on a register bank (the cost of ports in gates varies as N/sup 2/ where N is the number of ports, and adding ports increases access time) is to have multiple register banks with fewer ports, each attached to a subset of the available functional units. This reduces the number of ports needed on a per-bank basis, but can slow operations if a necessary value is not in an attached register bank as copy operations must be inserted. Therefore, there is a circular dependence between assigning operations to functional units and assigning values to register banks. We describe an approach that produces good code by separating partitioning from scheduling and register assignment. Our method is independent of both the scheduling technique and register assignment method used. Jason Hiser, Steve Carr 0001, Philip H. Sweany, Steven J. Beaty |
IPDPS | 3 |
| 1998 | Building a Retargetable Local Instruction SchedulerabstractWhile high-performance architectures have included some Instruction-Level Parallelism (ILP) for at least 25 years, recent computer designs have exploited ILP to a significant degree. Although a local scheduler is not sufficient for generation of excellent ILP code, it is necessary as many global scheduling and software pipelining techniques rely on a local scheduler. Global scheduling techniques are well-documented, yet practical discussions of local schedulers are notable in their absence. This paper strives to remedy that disparity by describing a list scheduling framework and several important practical details that, taken together, allow implementation of an efficient local instruction scheduler that is easily retargetable for ILP architectures. The foundation of our machine-independent instruction scheduler is a timing model that allows easy retargetability to a wide range of architectures. In addition to describing how a general list-scheduler can be implemented within the framework of our timing model, experimental results indicate that lookahead scheduling can profoundly improve a scheduler's ability to produce a legal schedule. Further experimental data shows that deciding to schedule a data dependence DAG (DDD) in forward or reverse order depends significantly upon that target architecture, suggesting the possibility of scheduling in each direction and using the best of the two schedules. In contrast, experiments demonstrate little difference in code quality for schedules generated by either instruction-driven or operation-driven schedulers. Thus, the inherent flexibility of operation-driven methods suggests including that approach in a retargetable instruction scheduler. List scheduling is, of course, a heuristic scheduling method. A variety of scheduling heuristics are presented. In addition, the paper describes a method, using a genetic algorithm search, to ‘fine-tune’ the weights of twenty-four individual heuristics to form a DDD-node heuristic tuned to a specific architecture. © 1998 John Wiley & Sons, Ltd. Vicki H. Allan, Steven J. Beaty, Bogong Su, Philip H. Sweany |
Softw. Pract. Exp. | 4 |
| 1997 | Modulo Scheduling with Cache Reuse Information
Steve Carr 0001, Philip H. Sweany |
Euro-Par | 3 |
| 1995 | CRAIG: a practical framework for combining instruction scheduling and register assignment
Thomas S. Brasier, Philip H. Sweany, Steven J. Beaty, Steve Carr 0001 |
PACT | 2 |
| 1992 | Dominator-path scheduling: a global scheduling methodabstractDominator-path scheduling performs global instruction scheduling of paths in the dominator tree. Unlike other global scheduling methods, dominator-path scheduling does not require copies of operations to preserve program semantics. In a limited test suite for a typical superscalar architecture, dominator-path scheduling produces schedules requiring 8.3% fewer cycles than local scheduling alone. 1 Introduction Architectures exhibiting instruction-level parallelism (ILP), such as superscalar and superpipelined machines, are currently popular. To best exploit instruction-level parallelism in these machines, an instruction scheduling phase is required during compilation. Instruction scheduling is typically classified as local if it considers code only within a basic block and global if it schedules multiple basic blocks at once. Local scheduling methods are well known (see [Bea91] for one summary.) Local instruction scheduling's largest impediment is its inability to consider context from... Philip H. Sweany, Steven J. Beaty |
MICRO | 1 |
| 1988 | Horizon: A Retargetable Compiler for Horizontal MicroarchitecturesabstractThe vertical migration of complex application code into horizontal microcode makes traditional methods of handwritten and hand-optimized microcode with primitive assembly languages impractical. Higher-level languages that permit abstraction from low-level timing and concurrency details are considered a major step toward alleviating the problem. This approach is feasible only if compilers for these languages exist that can produce high-quality microcode and that can be targeted to new machines with modest effort and high reliability. An overview is provided of the Horizon retargetable microcode compiler, which facilitates the production of highly optimized microcode and the targeting of the compiler to specific machines.> Robert A. Mueller, Michael R. Duda, Philip H. Sweany, Jack S. Walicki |
IEEE Trans. Software Eng. | 3 |