FIBER Project Home Page

Abstract of this project

FIBER project is a synthetical project for development of software with auto-tuning facilities (basic software and middle-software). To establish auto-tuning technologies, FIBER project contains the following working groups.

Working group of FIBER software architecture study
This working group is to study software architecture for generalized auto-tuning facilities.

Working group of ABC-LIB development
This working group is to develop ABC-LIB, which is a numerical library with auto-tuning facilities.

Working group of ABCLibScript development
This working group is to study specification and tools of ABCLibScript, which can support code development for auto-tuning facility by users.

Working group of optimizing MPI job tools development
This working group is to study job migration methods and its tools for MPI job in Grid environments.

The first aim of FIBER project is focused on the adaptation to numerical libraries. The goal of FIBER project, however, is not limited on numerical libraries or numerical processing, since the concept of auto-tuning facility is for general processes, and general parts of the target program. The evaluation and discussion of this are future works.

The overview of FIBER Project

The FIBER project is to develop system software, which can automatically transform from original source programs to dedicated-use programs maintaining performance in the following machine environments (See Fig.1.)

Mobile and PDA environments
PC clusters environments
Super-computers environments
Grid environments

Middleware which has a facility maintaining its performance is called auto-tuning middleware.

We support several pieces of midllware in many machine environments by using the auto-tuning facilities of FIBER. The FIBER functions for "dedicated-usage" are classified as follows:

M-FIBER (For Mobile and PDA environments)
P-FIBER (For PC clusters environments)
S-FIBER (For super-computers environments)
G-FIBER (For Grid environments)

We offer the dedicated functions for FIBER to archive high performance in the several machine environments.

Figure 1 Overview of ABC-LIB Project

FIBER Project is focused on the several computer environments figured on the overview of FIBER project in Figure 1.
The target processes are not limited in numerical processing.

What is auto-tuning facility?

The location of auto-tuning facility in software system layers is explained in this section. Fig.2 shows that the auto-tuning facility is located between library interface layer and basic software layers, such as communication library. The auto-tuning facility, hence, can be regard as a middleware in a sense.

Figure 2 Layer of auto-tuning facility

FIBER project is a project that develops the above middleware. The target processes in the middleware are not limited in numerical processing, but are focused on general processing.

FIBER Software Architecture

The FIBER software architecture, which is a new auto-tuning technology and it is developed by the FIBER project, is explained.

The FIBER software architecture has the following two kinds of functions as its peculiarly feature.

(1) Code development support function;
(2) Parameter optimization function in three layers;

We do not explain the function of (1) in detail because it has many kinds of functions. The summary of the function (1) is that the function supports code development by users to offer a dedicated language facility. We will explain the function of (2) as follows.

Figure 3 shows software components for FIBER.

Figure 3 Software components for FIBER

According to Fig.3, users define the parameters in their libraries, sub-programs, or other parts of the program by using a dedicated language. The defined parameters are sent to FIBER's Parameter Tuning Layer (PTL), and then, they are optimized taking into account of the feature of machine environments and problems.

In FIBER, there are three kinds of optimization layers -- installation Optimization Layer, Before Execution-invocation Optimization Layer, and Run-time Optimization Layer. For these three layers, there are two features of (1) different invocation timing, and (2)limitation for parameter reference.
Figure 4 explains this features.

Figure 4 Process flow for FIBER

We already explained that the three optimization layers have deferent invocation timing. The detailed order and timing is shown:

(1) Installation optimization layer : When the target library is installed.
(2) Before Execution-invocation optimization layer : After fixing special parameters. (After fixing the parameters defined by users' knowledge.)
(3) Run-time optimization layer : when library runs.

There is a limitation for referring optimized parameters, which are stored in parameter information file:

High <- grobality for referring -> Low
Installation optimization layer  > Before execution-invocation optimization layer > Run-time optimization layer

The reason of this is explained as (1)to obtain highly estimated parameters, (2) to generalize auto-tuning facilities.

Finally, we will explain the deference between conventional library methods and FIBER's method.
The comparison is figured in Fig. 5.

Figure 5 Comparison of conventional methods

Fig.5 shows that the methods of conventional libraries are categorizes as three methods. They are (a) Installation method, (b) Run-time Method, and (3)Installation and run-time method. From Fig.5, we can find that there is no method, except for FIBER method, to have three kinds of parameter optimization layers, and to refer optimized parameters from the higher layers in the three kinds of optimization layers.

Fig.5 also shows that many conventional methods are focused on the auto-tuning facility for numerical libraries. The difference of the aim for FIBER project is that FIBER project is focused on general processes (NOT limited in numerical processing), and to establish the general purpose and usage auto-tuning facilities.

By using the three kinds of optimization layers and parameter reference system, FIBER can establish (1) generalization of auto-tuning process, and (2) high accuracy parameter estimation. They are quite original concepts and effects compared to the other auto-tuning methods.

Effort from FIBER Project

2 Patents submitted to Japan Patent Office, in January and March 2003.

Takahiro Katagiri, Kenji Kise, Hiroki Honda, and Toshitsugu Yuba, IS Technical Reports, Graduate School of Information Systems, The University of Electro-Communications, UEC-IS-2003-3、in 13 May 2003 : "FIBER: A Framework of Installation, Before Execution-invocation, and Run-time Optimization Layers for Auto-tuning Software" ( PS File , PDF File )

KATAGIRI Takahiro, KISE Kenji, HONDA Hiroki, and YUBA Toshitsugu, Springer LNCS 2858, pp.146--159, The Fifth International Symposium on High Performance Computing (ISHPC-V), Tokyo Fashion Town Building, Tokyo International Trade Center (Odaiba, Tokyo, JAPAN), October 20-22, 2003:"FIBER: A General Framework for Auto-Tuning Software"

Takahiro Katagiri, Kenji Kise, Hiroki Honda, Toshitsugu Yuba, UEC IS Technical Reports, UEC-IS-2003-10 (17 November, 2003): "Effect of Auto-tuning with User's Knowledge for Numerical Software" (PDF File)

Takahiro Katagiri, Kenji Kise, Hiroki Honda, Toshitsugu Yuba, Eleventh SIAM Conference on Parallel Processing for Scientific Computing (PP04),Hyatt at Fisherman's Wharf, San Francisco, CA, USA,Thursday, February 26, 2004,Organized Session of "MS37 Portable Parallel Numerical Libraries for Various Types of Architectures":"Towards Performance Portability Framework for Numerical Libraries"

Takahiro Katagiri, Kenji Kise, Hiroki Honda, Toshitsugu Yuba, Eleventh SIAM Conference on Parallel Processing for Scientific Computing (PP04),Hyatt at Fisherman's Wharf, San Francisco, CA, USA,Thursday, February 26, 2004,Poster Session: "FIBER: Generalized Framework for Numerical Software"

Takahiro Katagiri, Kenji Kise, Hiroki Honda, and Toshitugu Yuba, Proceedings of ACM Computing Frontiers (CF) 04, pp.--, Island of Ischia, Italy, 14--16 April 2004 :"Effect of Auto-tuning with User's Knowledge for Numerical Software" (accepted)

[Last updated ]
23 April 2003 : Home Page Opened
30 March 2004 : Updated