Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Hou-Jen Ko

dblp:16/5625 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 2018
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 4 · 3 first-authorSoftware engineering, systems software and programming languages · 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.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 100%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
parallelization
0.212013
General data structure expansion for multi-threading · PLDI 2013
Parallel and multicore computing › parallel programming models
automatic parallelization
0.212013
General data structure expansion for multi-threading · PLDI 2013
Parallel and multicore computing
parallel programming models
0.212013
General data structure expansion for multi-threading · PLDI 2013

Methods — techniques the papers use, named apart from their topics

type checking · 0.3data structure expansion · 0.3data dependence graph · 0.3
YearPublicationVenuePosition
2018 Optimizing data layout and system configuration on FPGA-based heterogeneous platforms
abstract
The most attractive feature of field-programmable gate arrays (FPGAs) is their configuration flexibility. However, if the configuration is performed manually, this flexibility places a heavy burden on system designers to choose among a vast number of configuration parameters and program transformations. In this paper, we improve the state-of-the-art with two main innovations: First, we apply compiler-automated transformations to the data layout and program statements to create streaming accesses. Such accesses are turned into streaming interfaces when the kernels are implemented in hardware, allowing the kernels to run efficiently. Second, we use two-step mixed integer programming to first minimize the execution time and then to minimize energy dissipation. Configuration parameters are chosen automatically, including several important ones omitted by existing models. Experimental results demonstrate significant performance gains and energy savings using these techniques.
Hou-Jen Ko, Zhiyuan Li 0001, Samuel P. Midkiff
ICCAD1
2013 General data structure expansion for multi-threading
abstract
Among techniques for parallelizing sequential codes, privatization is a common and significant transformation performed by both compilers and runtime parallelizing systems. Without privatization, repetitive updates to the same data structures often introduce spurious data dependencies that hide the inherent parallelism. Unfortunately, it remains a significant challenge to compilers to automatically privatize dynamic and recursive data structures which appear frequently in real applications written in languages such as C/C++. This is because such languages lack a naming mechanism to define the address range of a pointer-based data structure, in contrast to arrays with explicitly declared bounds. In this paper we present a novel solution to this difficult problem by expanding general data structures such that memory accesses issued from different threads to contentious data structures are directed to different data fields. Based on compile-time type checking and a data dependence graph, this aggressive extension to the traditional scalar and array expansion isolates the address ranges among different threads, without struggling with privatization based on thread-private stacks, such that the targeted loop can be effectively parallelized. With this method fully implemented in GCC, experiments are conducted on a set of programs from well-known benchmark suites such as Mibench, MediaBench II and SPECint. Results show that the new approach can lead to a high speedup when executing the transformed code on multiple cores.
Hou-Jen Ko, Zhiyuan Li 0001
PLDI2
2013 Design of Hardware Function Evaluators Using Low-Overhead Nonuniform Segmentation With Address Remapping
abstract
In the piecewise function evaluation with polynomial approximation, nonuniform segmentation can effectively reduce the size of lookup tables for some arithmetic functions compared to uniform segmentation approaches, at the cost of the extra segment address (index) encoder that results in area and delay overhead. Also, it is observed that the nonuniform segmentation reflects a design tradeoff between the ROM size and the area cost of the subsequent arithmetic computation hardware. In this paper, we propose a new nonuniform segmentation method that searches for the optimal segmentation scheme with the goal of minimized ROM, total area, or delay. For some high-variation arithmetic functions, the proposed segmentation method achieves significant area reduction compared to the uniform segmentation method. We also demonstrate the design tradeoff among uniform and nonuniform segmentation, and degree-one and degree-two polynomial approximations, with respect to precision ranging from 12 to 32 bits for the elementary function of reciprocal.
Shen-Fu Hsiao, Hou-Jen Ko, Yu-Ling Tseng, Wen-Liang Huang, Shin-Hung Lin, Chia-Sheng Wen
IEEE Trans. Very Large Scale Integr. Syst.2
2010 A new non-uniform segmentation and addressing remapping strategy for hardware-oriented function evaluators based on polynomial approximation
abstract
This paper presents a new non-uniform segmentation method for arithmetic function evaluation based on polynomial approximations. The merging of several uniform segments can reduce the required ROM size compared with normal uniform segmentation. The previously proposed hierarchical segmentation turns out to be special cases of this new approach. In general, non-uniform segmentation leads to irregular address indexing that needs extra computation hardware. Here, an address rearrangement and mapping method is proposed that does not need any additional address computation, and thus the critical path delay can be reduced. Experimental results show that this new segmentation and address remapping method can efficiently reduce the table size for some elementary arithmetic functions, such as log2x and 1/x.
Hou-Jen Ko, Shen-Fu Hsiao, Wen-Liang Huang
ISCAS1
2007 A Double-Issue Java Processor Design for Embedded Applications
abstract
Java applications for embedded systems are becoming popular today. CLDC/MIDP is the standard application platform for mobile phones while CDC/PBP is the emerging application platform for next generation digital TV set-top boxes. Although software-based Java virtual machines (VM) are prevalent, most of these VMs require a host processor running at much higher clock rate than 300MHz to reach reasonable performance. This is beyond the recommended specification of handsets and set-top boxes. In this paper, we have proposed a double-issue Java processor for embedded systems. The design is not tied to any host processors and can be used as an efficient binary execution engine for a full Java runtime environment implementation. When synthesized on a Virtex IV FPGA (4VFX12FF66-10), the RTL model can reach over 100MHz and consumes less than 22% resources of the device.
Hou-Jen Ko, Chun-Jen Tsai
ISCAS1