Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823431
C. Cérin
In this paper we present our investigations to implement some computational geometry problems (point in a polygon, intersection problem, convex hull) under the framework of BSR (Broadcasting with Selective Reduction) model of parallel computing, then under the framework of BSP (Bulk Synchronous Parallel Model) programs. BSR is a (theoretical) model with the capabilities of PRAM models augmented with a broadcast mechanism. BSR offers concise notations that facilitates the specification part. BSP is suitable for concrete implementation because it also characterizes prediction in terms of a small set of machine parameters. So, instead of implementing in hardware the primitives of the BSR model we consider practical rules to translate BSR constructions into BSP ones. We also validate the discussion by translating BSR programs into BSP programs. We run them both on Silicon Graphics Origin2000 and on a Bi-Pentium 300 MHz. The results encourage us to develop a computational geometry problems starting from a BSR specification that is automatically translated into efficient BSP implementations. The results are pretty good and demonstrate that BSR can be used as specification language which is implemented in software by BSP primitives.
{"title":"Towards efficient BSP implementations of BSR programs for some computational geometry problems","authors":"C. Cérin","doi":"10.1109/EMPDP.2000.823431","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823431","url":null,"abstract":"In this paper we present our investigations to implement some computational geometry problems (point in a polygon, intersection problem, convex hull) under the framework of BSR (Broadcasting with Selective Reduction) model of parallel computing, then under the framework of BSP (Bulk Synchronous Parallel Model) programs. BSR is a (theoretical) model with the capabilities of PRAM models augmented with a broadcast mechanism. BSR offers concise notations that facilitates the specification part. BSP is suitable for concrete implementation because it also characterizes prediction in terms of a small set of machine parameters. So, instead of implementing in hardware the primitives of the BSR model we consider practical rules to translate BSR constructions into BSP ones. We also validate the discussion by translating BSR programs into BSP programs. We run them both on Silicon Graphics Origin2000 and on a Bi-Pentium 300 MHz. The results encourage us to develop a computational geometry problems starting from a BSR specification that is automatically translated into efficient BSP implementations. The results are pretty good and demonstrate that BSR can be used as specification language which is implemented in software by BSP primitives.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122038311","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823397
C. Allison, M. Bramley, Jose Serrano, D. McKechan
The Web supports access to a very wide variety of services and objects via the simple naming mechanism provided by the Uniform Resource Locator or URL. When resources are read-only entities, which is still the common case, there is little problem in returning their output to clients in the face of multiple concurrent accesses. However, the Web is increasingly being adopted as the front-end for distributed multi-user applications, in which case resources must be maintained in an environment characterised by multiple concurrent reads and writes, and dynamic access control. This engenders basic needs for concurrency control and dynamic configuration in the single server scenario. Highly interactive Web environments, which do not benefit from caching, cause sufficient extra server load to necessitate the use of multiple servers. Replication is necessary when caching fails. The moderate complexity of single server resource management is then compounded. This report details a design for resource management that supports arbitrary resource types, replicated instances of a given resource type, and multiple co-operating servers. It is based on our experiences of coping with complexity, in the context of distributed learning environments.
{"title":"Replicating the R in URL","authors":"C. Allison, M. Bramley, Jose Serrano, D. McKechan","doi":"10.1109/EMPDP.2000.823397","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823397","url":null,"abstract":"The Web supports access to a very wide variety of services and objects via the simple naming mechanism provided by the Uniform Resource Locator or URL. When resources are read-only entities, which is still the common case, there is little problem in returning their output to clients in the face of multiple concurrent accesses. However, the Web is increasingly being adopted as the front-end for distributed multi-user applications, in which case resources must be maintained in an environment characterised by multiple concurrent reads and writes, and dynamic access control. This engenders basic needs for concurrency control and dynamic configuration in the single server scenario. Highly interactive Web environments, which do not benefit from caching, cause sufficient extra server load to necessitate the use of multiple servers. Replication is necessary when caching fails. The moderate complexity of single server resource management is then compounded. This report details a design for resource management that supports arbitrary resource types, replicated instances of a given resource type, and multiple co-operating servers. It is based on our experiences of coping with complexity, in the context of distributed learning environments.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"753 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122980606","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823420
C. Leopold
Memory hierarchy-consciousness is an important requirement for the design of high-performance programs. We describe a tool that supports the programmer in restructuring performance-critical code sections. The tool works with small program instances, which are obtained by fixing program parameters such as loop bounds, and rewriting the program as an operation sequence. The tool automatically reorders the operations for better locality, and respects data dependencies. It outputs the optimized program instance in a structured form. The user finally recognizes the locality-relevant structure and generalizes it to the program. The paper focuses an recent advances in the development of our method. In particular we introduce a hierarchical clustering scheme that highlights operation subsequences with much data reuse. The scheme is applied to the generation of structured optimized program instances in which the locality-relevant structure is easy to recognize. Experimental results are included.
{"title":"Generating structured program instances with a high degree of locality","authors":"C. Leopold","doi":"10.1109/EMPDP.2000.823420","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823420","url":null,"abstract":"Memory hierarchy-consciousness is an important requirement for the design of high-performance programs. We describe a tool that supports the programmer in restructuring performance-critical code sections. The tool works with small program instances, which are obtained by fixing program parameters such as loop bounds, and rewriting the program as an operation sequence. The tool automatically reorders the operations for better locality, and respects data dependencies. It outputs the optimized program instance in a structured form. The user finally recognizes the locality-relevant structure and generalizes it to the program. The paper focuses an recent advances in the development of our method. In particular we introduce a hierarchical clustering scheme that highlights operation subsequences with much data reuse. The scheme is applied to the generation of structured optimized program instances in which the locality-relevant structure is easy to recognize. Experimental results are included.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126542553","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823409
Valentin Puente, J. M. Prellezo, C. Izu, J. Gregorio, R. Beivide
The evaluation of network performance under real application loads is carried out by detailed time-intensive and resource-intensive simulations. Moreover, the use of ILP (instruction-level parallel) processors in cc-NUMA (cache-coherent non-uniform memory access) architectures introduces non-deterministic memory accesses; the resulting parallel system must be modeled by a detailed execution-driven simulation, further increasing the evaluation cost. This paper introduces a simulation methodology, based on network traces, to estimate the impact that a given network has on the execution time of parallel applications. This methodology allows the study of the network design space with a level of accuracy close to that of execution-driven simulations but with much shorter simulation times. The network trace, extracted from an execution-driven simulation, is processed to substitute the temporal dependencies produced by the simulated network with an estimation of the message dependencies caused by both the application and the applied cache-coherent protocol. This methodology has been tested on two direct networks, with 16 and 64 nodes respectively, running the FFT and Radix applications of the SPLASH2 suite. The trace-driven simulation is 3 to 4 times faster than the execution-driven one, with an average error of 4% in the total execution time.
{"title":"A case study of trace-driven simulation for analyzing interconnection networks: cc-NUMAs with ILP processors","authors":"Valentin Puente, J. M. Prellezo, C. Izu, J. Gregorio, R. Beivide","doi":"10.1109/EMPDP.2000.823409","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823409","url":null,"abstract":"The evaluation of network performance under real application loads is carried out by detailed time-intensive and resource-intensive simulations. Moreover, the use of ILP (instruction-level parallel) processors in cc-NUMA (cache-coherent non-uniform memory access) architectures introduces non-deterministic memory accesses; the resulting parallel system must be modeled by a detailed execution-driven simulation, further increasing the evaluation cost. This paper introduces a simulation methodology, based on network traces, to estimate the impact that a given network has on the execution time of parallel applications. This methodology allows the study of the network design space with a level of accuracy close to that of execution-driven simulations but with much shorter simulation times. The network trace, extracted from an execution-driven simulation, is processed to substitute the temporal dependencies produced by the simulated network with an estimation of the message dependencies caused by both the application and the applied cache-coherent protocol. This methodology has been tested on two direct networks, with 16 and 64 nodes respectively, running the FFT and Radix applications of the SPLASH2 suite. The trace-driven simulation is 3 to 4 times faster than the execution-driven one, with an average error of 4% in the total execution time.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132056721","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823414
J. Nabrzyski, Juliusz Pukacki, M. Stroinski
The importance of metacomputing is without question. Only such a use of distributed resources, as in metacomputing, has the potential to maximize performance and cost effectiveness of a wide range of scientific and distributed applications. There are several projects that address the metacomputing area. Globus, Legion and HPCM are only a few examples. However, in most cases resource dynamics are not taken into account. In this paper we present a concept of the metacomputer management software based on the expert system techniques. The knowledge about some specific aspects of metacomputing, like system specific knowledge, communication networks parameters, architecture specialization, run-time scheduling techniques, optimal resource allocation etc. is kept and managed by different experts. They negotiate with each other to make up a common scheduling decision.
{"title":"A knowledge-based approach to scheduling jobs in metacomputer environment","authors":"J. Nabrzyski, Juliusz Pukacki, M. Stroinski","doi":"10.1109/EMPDP.2000.823414","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823414","url":null,"abstract":"The importance of metacomputing is without question. Only such a use of distributed resources, as in metacomputing, has the potential to maximize performance and cost effectiveness of a wide range of scientific and distributed applications. There are several projects that address the metacomputing area. Globus, Legion and HPCM are only a few examples. However, in most cases resource dynamics are not taken into account. In this paper we present a concept of the metacomputer management software based on the expert system techniques. The knowledge about some specific aspects of metacomputing, like system specific knowledge, communication networks parameters, architecture specialization, run-time scheduling techniques, optimal resource allocation etc. is kept and managed by different experts. They negotiate with each other to make up a common scheduling decision.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"253 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125786218","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823436
Y. Cotronis
Reusability of executables is an integral part in the design and implementation of message passing programs, as from the same executable component a number of interacting processes are spawned. In practice, reuse of executables within an application is usually achieved when processes execute within a specific regular topology and within a specific message passing environment (e.g. PVM, MPI). We propose the design and implementation of reusable message passing components, which are independent of the target message passing environment (MPE) and may be used in any topology, whether regular, partially regular or irregular. We define virtual process communication interfaces independent of any topology. Process topologies are established by associating compatible communications interfaces.
{"title":"Reusable message passing components","authors":"Y. Cotronis","doi":"10.1109/EMPDP.2000.823436","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823436","url":null,"abstract":"Reusability of executables is an integral part in the design and implementation of message passing programs, as from the same executable component a number of interacting processes are spawned. In practice, reuse of executables within an application is usually achieved when processes execute within a specific regular topology and within a specific message passing environment (e.g. PVM, MPI). We propose the design and implementation of reusable message passing components, which are independent of the target message passing environment (MPE) and may be used in any topology, whether regular, partially regular or irregular. We define virtual process communication interfaces independent of any topology. Process topologies are established by associating compatible communications interfaces.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125212700","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823400
N. Mukherjee, G. Riley, J. Gurd
FINESSE is a prototype environment designed to support rapid development of parallel programs for single-address space computers by both expert and non-expert programmers. The environment provides semi-automatic support for systematic, feedback-based reduction of the various classes of overhead associated with parallel execution. The characterisation of parallel performance by overhead analysis is first reviewed, and then the functionality provided by FINESSE is described. The utility of this environment is demonstrated by using it to develop parallel implementations for an SGI Origin 2000 platform of Tred2, a well-known benchmark for automatic parallelising compilers.
{"title":"FINESSE: a prototype feedback-guided performance enhancement system","authors":"N. Mukherjee, G. Riley, J. Gurd","doi":"10.1109/EMPDP.2000.823400","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823400","url":null,"abstract":"FINESSE is a prototype environment designed to support rapid development of parallel programs for single-address space computers by both expert and non-expert programmers. The environment provides semi-automatic support for systematic, feedback-based reduction of the various classes of overhead associated with parallel execution. The characterisation of parallel performance by overhead analysis is first reviewed, and then the functionality provided by FINESSE is described. The utility of this environment is demonstrated by using it to develop parallel implementations for an SGI Origin 2000 platform of Tred2, a well-known benchmark for automatic parallelising compilers.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125170937","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823429
Z. Czech
A delivery problem which reduces to the NP-complete set-partitioning problem is investigated. The sequential and parallel simulated annealing algorithms to solve the delivery problem are discussed. The objective is to improve the quality of solutions to the problem by applying parallelism.
{"title":"Parallel simulated annealing for the set-partitioning problem","authors":"Z. Czech","doi":"10.1109/EMPDP.2000.823429","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823429","url":null,"abstract":"A delivery problem which reduces to the NP-complete set-partitioning problem is investigated. The sequential and parallel simulated annealing algorithms to solve the delivery problem are discussed. The objective is to improve the quality of solutions to the problem by applying parallelism.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116041820","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823403
M. Jazayeri, Wolfgang Lugmayr
Gypsy is a component-based, dynamically extensible environment for mobile agent systems. The runtime environment consists of lightweight servers that provide a distributed execution environment for agents, and a remote administration tool that supports the set-up and shutdown of servers and agents. A server hosts a number of places to which agents may move to execute their functions. Each place is specialized to support a particular service. A supervisor agent may contain several worker agents that may execute concurrently. A supervisor agent travels from place to place according to its itinerary and launches its workers at appropriate places. A mobile agent is the basic abstraction from which all other components, including servers and supervisor agents, are constructed. The primary goal of the Gypsy project is to build a multi-language, extensible environment for experimenting with mobile agents as a programming paradigm. The environment is implemented in Java and currently supports agents written in the Java or Python programming languages. This paper presents an overview of the Gypsy project, the current system architecture and the design of the important components of the Gypsy system.
{"title":"Gypsy: a component-based mobile agent system","authors":"M. Jazayeri, Wolfgang Lugmayr","doi":"10.1109/EMPDP.2000.823403","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823403","url":null,"abstract":"Gypsy is a component-based, dynamically extensible environment for mobile agent systems. The runtime environment consists of lightweight servers that provide a distributed execution environment for agents, and a remote administration tool that supports the set-up and shutdown of servers and agents. A server hosts a number of places to which agents may move to execute their functions. Each place is specialized to support a particular service. A supervisor agent may contain several worker agents that may execute concurrently. A supervisor agent travels from place to place according to its itinerary and launches its workers at appropriate places. A mobile agent is the basic abstraction from which all other components, including servers and supervisor agents, are constructed. The primary goal of the Gypsy project is to build a multi-language, extensible environment for experimenting with mobile agents as a programming paradigm. The environment is implemented in Java and currently supports agents written in the Java or Python programming languages. This paper presents an overview of the Gypsy project, the current system architecture and the design of the important components of the Gypsy system.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124186767","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2000-01-19DOI: 10.1109/EMPDP.2000.823389
Ahmed Saleh, George R. Ribeiro-Justo
The development of distributed multimedia applications has always been a challenge for both expert and nonexpert developers. Middleware and supporting frameworks have emerged to simplify this process by providing reusable components that can be plugged together in many configurations to help application developers building up their applications. In distributed multimedia, the adoption of such frameworks allows the exchange of media (i.e. audio, video, etc.) and configuration data (i.e. where, how, etc.) transparently through the network. Application developers do not have to deal with details related to the location of data sources and destinations, network protocols used, or even the quality of service (QoS) requirements at the network level. Most framework designers tend to concentrate on the aspect of generalising and enhancing the functionality of the framework components and leave the communication between these components to be managed by one of the standard distributed object platforms such as CORBA, DCOM or JavaRMI. This paper describes research undertaken to tackle the problems of designing and managing communication between distributed multimedia components. The design of a supporting framework is explained with emphasis on the communicational aspect of its components. The paper also includes a case study which illustrate the use of the framework.
{"title":"Communication support for distributed multimedia components","authors":"Ahmed Saleh, George R. Ribeiro-Justo","doi":"10.1109/EMPDP.2000.823389","DOIUrl":"https://doi.org/10.1109/EMPDP.2000.823389","url":null,"abstract":"The development of distributed multimedia applications has always been a challenge for both expert and nonexpert developers. Middleware and supporting frameworks have emerged to simplify this process by providing reusable components that can be plugged together in many configurations to help application developers building up their applications. In distributed multimedia, the adoption of such frameworks allows the exchange of media (i.e. audio, video, etc.) and configuration data (i.e. where, how, etc.) transparently through the network. Application developers do not have to deal with details related to the location of data sources and destinations, network protocols used, or even the quality of service (QoS) requirements at the network level. Most framework designers tend to concentrate on the aspect of generalising and enhancing the functionality of the framework components and leave the communication between these components to be managed by one of the standard distributed object platforms such as CORBA, DCOM or JavaRMI. This paper describes research undertaken to tackle the problems of designing and managing communication between distributed multimedia components. The design of a supporting framework is explained with emphasis on the communicational aspect of its components. The paper also includes a case study which illustrate the use of the framework.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"318 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123126249","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}