cations. Current research work includes terascale grid enabling clusters, the Vega ... such, it is driven by technology trends and application trends. We have ...
The Vega Grid and Grid-Based Education Zhiwei Xu1, Wei Li1, Hongguang Fu2 and Zhenbing Zeng2 1
Institute of Computing Technology, Chinese Academy of Sciences, Beijing China, 100080 {zxu, liwei}@ict.ac.cn 2
Automated Reasoning Laboratory, Chinese Academy of Sciences Beijing China, 100080
Abstract. This paper presents research work conducted at Chinese Academy of Sciences, on the Vega Grid technology and dynamic geometry technology, and how the two can integrate to provide a dynamic geometry education system based on grid technology.
1. Introduction This paper presents research work conducted at Chinese Academy of Sciences, on the Vega Grid technology and dynamic geometry technology, and how these two technologies can integrate to provide a Vega Education Grid, a grid-based education system for mathematics. Vega Grid is a research project at Institute of Computing Technology, Chinese Academy of Sciences. MXP (Math Experience) is a dynamic geometric education system developed at Automated Reasoning Laboratory, Chinese Academy of Sciences. Currently, these two teams are collaborating to develop a high-performance intelligent education software deployable on a wide-area grid platform. The initial focus is mathematics education, with strong emphasis on dynamic geometry. In Section 2, we discuss the Vega Grid research project. Section 3 describes the MXP system. Section 4 identify challenges of the MXP system, and presents the architecture of the Vega Education Grid, a grid-based mathematics education system under development.
2. The Vega Grid Project The Vega Grid project aims to learning fundamental properties of grid computing, and developing key techniques that are essential for building grid systems and applications. Current research work includes terascale grid enabling clusters, the Vega Grid Software Platform, Vega Information Grid, and Vega Knowledge Grid. The Vega Grid research is both a basic research and an applied research project. As such, it is driven by technology trends and application trends. We have closely followed development in computing grid (e.g., Globus) [4, 6], data grid [1], information grid and knowledge grid [15], and business grid (e.g., OGSA [5] and web services [8, 11]). More importantly, the research results of the Vega Grid project are currently being used in several application fields, such as Digital Olympics, bioinformatics grid, education grid, and integrated information sharing systems in the railway industry.
2.1 The VEGA Service Grid Principle After carefully analyzing applications requirements, we identified the VEGA Service Grid Principle to guide our development. The service grid concept abstracts three aspects of applications requirements: (1) The Vega grid should enable user visible services, not just an infrastructure. (2) Service is the main mechanism for users to interact with grid. (3) The criteria used to evaluate grid functionality and performance should evolve from traditional criteria to service-oriented criteria, such as Service Level Agreement (SLA). To realize the service grid concept, the Vega Grid project follows the following VEGA principle: •
Versatile Services and Resources. The grid should have the ability to support various services and resource, not just scientific computation. The Vega Grid project aims to providing for the minimal common requirements of various grid applications.
•
Enabling Intelligence. The grid should support intelligent computing, such as automatic production of information, knowledge and services. However, the grid itself is not the intelligence provider, but it provides enabling technology to assist developers and users to achieve intelligent grid applications.
•
Global Uniformity. From the user’s viewpoint, the grid can be viewed as a single virtual computer, supporting Single System Image, Single Sign-
On and other related technologies. Heterogeneous resources among geographically distributed grid nodes should form a uniform, connected, inter-operable resource pool, instead of many isolated small islands. •
Autonomous Control. The grid should not be ruled by a central administration. All components can freely join or leave the grid at their own will. A resource provider has full control its resource exported, and a resource user can use resources as he like within the purview of his right.
2.2 A Grid Computing Model with Active Memory Turing machines and random access machines (RAM) [3] are basic computer models, especially for sequential computing at a single site. The PRAM and the BSP models [7, 14] extend RAM to cover parallel computing. The Vega Grid team proposed a new model of Computer with Active Memory (CAM), where the memory cells are equipped with traditional read/write operations as well as new execution operations. This CAM model can be used to study architectural mechanisms and algorithms design of grid computing. The CAM model differs from the RAM model in several aspects, as illustrated in Figure 1. In traditional RAM (or PRAM) model, a processor can only read from or write to a memory cell. In the CAM model, a processor can also execute a memory cell. This is accomplished by new instructions specific to CAM. P
P
Memory
Memory
(a) RAM
(b) PRAM
P
P
Grid
f
P
A
B
(c) CAM for Grid
Figure 1. Comparison among three computing models: RAM, PRAM and CAM
C
This CAM model is better suited than RAM and PRAM for modeling grid computing. Each memory cell in CAM can be viewed as a grid node. The entire memory can be viewed as the grid. A processor of CAM represents a client device or a user of the grid. Instructions of CAM can be viewed as users requests to the grid for desired services. For instance, suppose a memory cell X in a CAM is divided into four fields, labeled as (X, 0), (X, 1), (X, 2), (X, 3). A CAM instruction “store (X, 0), f ” deploys service f on grid node X. An instruction “move (X, 3), Y” transfers data from node Y into node X. A CAM instruction “execute X” then can be interpreted as execute service f, with parameter B and C, and writes the service results into A.
2.3 The Vega Grid Architecture The CAM model has been used in designing our Vega Grid system. Its three-layer architecture is illustrated in Figure 2. At the grid hardware layer, we are developing Dawning 4000 and Dawning 5000 superservers, which are clusters with enabling technology to support grid platforms and applications. Other components at the grid hardware layer include a client device and a router. The Vega Grid Client is a thin client device for grid users. The Vega Grid Router, which enables application-level connectivity and allows resources to be efficiently deployed and discovered. The platform layer includes grid system software and middleware, such as Globus, OGSA, web services, and other commercial grid software. The application layer includes various application software servers, such as database servers, web servers, and business application servers. The Vega Grid adds two new components at this layer, one at the client side and one at the server side. The Vega Grid “Browser” extends a traditional web browser, by allowing users to write to and to operate the grid. The Vega Grid Server is a portal to the grid, which provides a logically single entry point for users to interact with the grid, and to handle processing tasks that are common to all grid services. The Vega Grid “Browser” and the Vega Grid Server interact through a new protocol, called the Grid Service Request Protocol (GSRP). Another new feature is the Grid Service Markup Language (GSML), which allows users (not necessarily programmers) to specify grid services and user interface in an easy to use fashion.
Vega Grid Browser
GSML GSRP
Vega
Other Servers:
Grid
Database, Web,
Server
Applications
Grid Platform Layer: Web Services, OGSA, Globus Other Grid System Software Grid Hardware Layer: Dawning Grid Enabling Clusters Vega Grid Router, Grid Client Figure 2. The Vega Grid Three-Layer Architecture
3. The Math Experience (MXP) Project Ever since their introduce in the 1990’s, dynamic geometry software (DGS) packages have become a standard tool for students, teachers, and mathematicians to build dynamic visual models to assist teaching and learning of various mathematical concepts and theorems [2, 9, 10,13]. They allowed students to become geometric experimenters, and to make their own discoveries. But a common drawback of these software is that they can not answer why. If you want a readable and logical proof process produced by computer automatically for a problem, the previous DGS can not do it, because they did not include a automated reasoning engine (prover) and a symbolic computation platform (solver). Symbolic computation software like Mathematica and Maple provide powerful tools of solving mathematical problems, but solving geometric problems is still a weak point. In recent years, we are researching and developing a dynamic geometric system named MXP (Math Experience) with a geometry information search system (prover) and a symbolic computation platform (solver) [12]. The DGS part of the software is used to generate a problem, the prover and solver are used to solve the problem automatically. In the following, we use an example to illustrate how MXP can be used to generate a geometric problem and to provide a readable proof.
3.1 Problem Generation in MXP A geometric problem includes the known and conclusion parts. If a problem is input by keyboard directly, we have to face the understanding of nature language, but it is very difficult. It is fortunate that the dynamic geometry is a constructive process and the semantic of every step is definite. So we can let the computer automatically generate problems by the constructive process. The approach to generate a geometric problems can be divided two steps: (1) Generating the statements (Known and Conclusion) of the problem by the drawing process; (2) Constructing the database of the known an conclusion. With the MXP software, a user selects the drawing tools to construct the geometric sketch in the worksheet and generate the conclusion by selecting the pattern of conclusions. The statements of constructions are shown in the window labeled “Problem”. The database of the known and conclusion is a black-box for users, which has a specific data structure. Figure 3 shows an example of the problem generating process. Table 1 illustrates the relationship among drawing sketch, statements and inner data structure.
Figure 3. Problem Generating in MXP
Table 1. Relationship among Drawing Sketch, Statements and Inner Data Structure
Step 1 2 3 4 5 6 7 8
Drawing Process Free Point A Free Point B Free Point C Free Point D Middle Point E of Point A and Point B Middle Point F of Point B and Point C Middle Point G of Point C and Point D Middle Point H of Point A and Point D Adding Conclusion
Expressing Sentences
E Is The Midpoint Point A and Point B. F Is The Midpoint Point B and Point C. G Is The Midpoint Point C and Point D. H Is The Midpoint Point A and Point D. Quadrilateral EFGH Parallelogram.
OF
Data structure (point A) (point B) (point C) (point D) (:mp E (:segment A B))
OF
(:mp F (:segment B C))
OF
(:mp G (:segment C D)) (:mp H (:segment A D)) (px4 (:4gon E F G H))
OF IS
3.1 Theorem Proving in MXP In order to let computer produce a traditional proof automatically, a geometry information search system (Prover) and symbolic computation platform (Solver) are introduced into the MXP. The prover is a geometry information search system based the rules including axioms, concepts and theorems. The solver is a computer algebra system based symbolic computation including polynomial computations, factorization and equations solving. We will focus on the prover design. Firstly, we should establish a rule database by collecting the axioms, definitions and theorems in textbooks. Then, we can formalize every rule as a function with inputs and outputs, so that some new facts can be outputted automatically when all input facts of a function are satisfied. Secondly, we classify all facts and establish a fact database. Then we can get a expanding fact database by applying every rule in rule database to the fact database. It is obvious that the expanding fact database has a limited fact database owing to the limited number of rules. So the automated reasoning process is closed. Thirdly, we should check whether the conclusion is in the fact database or not till the fact database reaches its limitation. If it is true, we can get a proof, otherwise the prover can not answer the problem. Maybe we should add new rules in the rule database. The whole process is summarized in Figure 4.
Known Data Classify facts
Facts 1
Rule 1
Facts 2
Rule 2
Facts n
Rule k
Verify Conclusion Construct Proof Show Proof Process STOP Figure 4. Automated Reasoning Based on Rules
The above algorithm is straightforward. The real challenge is to deal with equivalence classes, data structures and search efficiency carefully. On a general personnel computer, we get a proof in several seconds for the example in Figure 3 by MXP. The proof is showed in Figure 5. The red lines are to help understand the proof process.
3.3 Summary of MXP As a dynamic geometry software, MXP can be used to build dynamic visual models to assist teaching and learning of various mathematical concepts. As an automated reasoning software, MXP can be used to build dynamic logic models which can do reasoning themselves. MXP is a powerful computer program for geometric reasoning. Within its domain, it invites comparison with the best of human geometry provers. It implements most of the effective methods for geometric reasoning introduced in the past twenty years, including the deductive base method, Wu's method, the area method, the Groebner
basis method, the vector method, and the full-angle method. With these methods, users may automated prove geometry theorems, to discover new properties of theorems, and to generate readable proofs for many geometry theorems. MXP supports the concept of dynamic visual models, that is, models built by computer software that can be changed dynamically. With MXP, we can build four classes of dynamic visual models: geometric transformations, loci generation, diagrams of functions, and loci generation.
Figure 5. The proof of the example in Figure 3
4. The VEGA Education Grid The current MXP software is implemented with Java on the PC platform, as a standalone software system. As such, it encounters several challenges: •
The Interconnect Problem. The current MXP system considered network support (e.g., using Java to code the system). But, it is no trivial matter to enable application-level connectivity among people and machines to build a grid-based learning community.
•
The Performance Problem. The performance and functionality of MXP is limited by a user’s PC (e.g., a user cannot perform large-scale factori-
zation). Although there may be much powerful resources on a grid, we lack the means to share them. •
The Intellectual Property Problem. As a standalone PC software, MXP is easy target for piracy. Any third-party add-on, either software or knowledge base, is also susceptible to this problem.
To solve these problems, we are developing a Vega Education Grid system (VEG). Its architecture is shown in Figure 6, based on the Vega Grid architecture in Figure 2.
GSML
VEG Client
GSRP
on VGB
VEG
Other VEG Parts:
Server
Knowledge Base,
on VGS
Accelerator, etc.
Grid Platform Layer: Web Services, OGSA, Globus Other Grid System Software Grid Hardware Layer: Dawning Grid Enabling Clusters Vega Grid Router, Grid Client Figure 6. The Vega Education Grid (VEG) Architecture
The interconnect problem is challenging, because it involves building communities (see Table 2) among students, teachers, machines. The latter include hardware, software and knowledge base on a grid platform. The parties involved have different knowledge structures and different ways of communication. Table 2. Parties in a Web-Based Learning Community
Parties Involved
Student Teacher Machine (Grid)
Student S2S T2S M2S
Teacher S2T T2T M2T
Machine (Grid) S2M T2M M2M
Two Vega Grid technologies, the Vega Grid Browser (VGB) and the GSML, play an important role in helping solve the interconnect problem. The VEG client is more powerful than a traditional Web browser, as it must provide graphic, interactive functions needed by the MXP, and it needs peer-to-peer functions to support S2S, S2T, T2S and T2T interactions. The GSML language provides a means for students and teachers to add knowledge and services to the Vega Education Grid, without programming. The Vega Education Grid is equipped with a transparent, resource sharing interface, allowing “out-sourcing” computation tasks and knowledge base queries to powerful back-end servers as well as client-side machines. This helps solve the performance problem. Another feature of Vega Grid, called dynamic deployment, helps alleviate the intellectual property problem. The VEG client, although contains most software of MXP, is not a standalone system anymore. It must be connected to the grid to function properly. At boot time and runtime, essential modules of MXP are transparently loaded via the VEG server into a client machine’s memory through the Internet. These modules are not stored into the disk file system of the client machine, even when the VEG client exits. We have successfully implemented such dynamic deployment system for operating system kernel level mandatory access control. Initial experiments show that such dynamic deployment only takes a few seconds.
5. Conclusion In this paper, we described research progress of the Vega Grid project and the Math Experience (MXP) project. We identified three challenges of standalone education software, and proposed a Vega Education Grid architecture to help solve the problems. The Vega Grid project has implemented a running prototype, and some Vega technology (e.g., the resource monitoring system) has been deployed in field applications. The MXP project has produced a stable software system in Chinese version, and a preliminary English version of the software is available for download at
http://www.acailab.com/. The Vega Education Grid is under development.
References 1. A. Chervenak, I. Foster, C. Kesselman, C. Salisbury, S. Tuecke, “The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific DataSets”, Journal of Network and Computer Applications, 1999. 2. S.C. Chou, X.S. Gao and J.Z. Zhang, Machine Proofs in Geometry, World Scientific, 1994. 3. S.A. Cook and R.A. Reckhow, “Time Bounded Random Access Machines”, Journal of Computer and System Science, Vol. 7, No. 4, 1973, pp. 354-375. 4. I. Foster, C. Kesselman, “The Globus Project: A Status Report”, Proc. IPPS/SPDP '98 Heterogeneous Computing Workshop, pp. 4-18, 1998. 5. I. Foster, C. Kesselman, J. Nick, S. Tuecke, “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration”, January, 2002. 6. I. Foster, C. Kesselman, S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations”, Intl. J. Supercomputer Applications, 2001. 7. K. Hwang and Z. Xu, Scalable Parallel Computers: Technology, Architecture, Programming, McGraw-Hill, New York, 1998. 8. IEEE Intelligent Systems, Special Issue on Intelligent Web Services, January 2002. 9. X. Jin and D. Wang, Mechanical Theorem Proving in Geometries: Basic Principles (Translated from the Chinese). Texts and Monographs in Symbolic Computation, Springer-Verlag, Berlin, 1994. 10. U. Kortenkamp, Foundations of Dynamic Geometry, Dr. Thesis, ETH Zurich, Institut fur Theoretische Informatik, 1999. 11. H. Kreger, IBM Software Group, Web Services Conceptual Architecture (WSCA 1.0), http://www-3.ibm.com/software/solutions/webservices/pdf/WSCA.pdf 12. MXP (Math Expericence: A Dynamic Geometry Software with a Prover and Solver). http://www.acailab.com, 2002. 13. W.-T. Wu, “On the Decision Problem and the Mechanization of Theorem-Proving in Elementary Geometry”, Contemporary Mathematics, Vol. 29, pp. 213-234,1984. 14. L.G. Valiant, “General Purpose Parallel Architectures”, in Handbook of Theoretical Computer Science (Vol. A), J. van Leeuwen (Ead.), Elsevier, 1990. 15. H. Zhuge, “A Knowledge Grid Model and Platform for Global Knowledge Sharing”, Expert Systems with Applications, Vol.22, No.4, 2002.