2.3 Calls on LegionClasslegion_add_class_mapping <metaclass LOID> <class LOID> [-debug] [-help] This command notifies LegionClass that the meta-class named by <metaclass LOID> is the class of the class named by <class LOID>. LegionClass updates its class map accordingly. The following options are supported:
legion_combine_domains [-v] <list of domain cookie files> [-debug] [-help] Joins a set of Legion domains (systems) to create a single, larger, multi-domain Legion system. Before you run this command, you must obtain a copy of the Legion domain cookie files from all of the involved domains (see legion_generate_domain_cookie, page 24, and legion_print_domain_cookie, page 25), including the current Legion domain. If you are joining domain A to domain B and domain B has already been joined to domain C, you will need cookie files from domains A, B, and C. This provides transitivity in the system join. All three domains will be joined to one another to form a single system. The command is implemented this way to avoid communication failures; if a LOID can be passed to an object (e.g., in a method continuation list), that object should be able to use the LOID for further communication. Non-transitive or non-reflexive joins would allow communication of LOIDs for which an object could not obtain a binding. For example, object X in domain A might be able to bind to object Y in domain B and pass a method to it, but object Y might not be able to bind to object X to pass it the return value. In addition to joining the binding trees of the involved domains, legion_combine_domains also creates context links in the current domain's context space to all of the remote domains' root contexts. These links appear in local context space in the following path: /domain/LegionDomain.<domain-id>. If the command is run on domains that are already connected, it has no affect and is harmless. There is currently no mechanism supporting "unjoining" of domains. However, Legion security mechanisms (e.g., ACLs) can be used to effectively forbid any use of the current domain by outside domains. The following options are supported:
The example below combines two domains. If either had previously been connected to another domain, three cookie files would be listed.
legion_create_implementation <binary path name> <architecture> {[-c] <class context name> | -l <class LOID>} [-c <object context path>] [-nc] [-v] [-a <attribute>] [-debug] [-help] Creates an implementation object based on the binary executable named in <binary path name>. Each class maintains a list of the implementation objects that are suitable for its instances. There are a set of implementation objects created when your system was initialized (use legion_ls -la /impl to see a list). Several different implementation objects might be maintained by a class to support the use of multiple platforms -- a class might have implementation objects for different architectures, for different operating systems, with different memory requirements, etc. The new implementation object is associated with the class object named in <class LOID> or <class context path>, and is marked as usable for hosts of a specified type (linux, solaris, etc.). The sample below creates a new implementation object for my_class: The new object is automatically assigned the context path /impls/my_class.linux.1 (if you ran the example a second time, the new object would be called /impls/my_class.linux.2). You can use the -c <object context path> flag to specify a different context path or the -nc flag to specify that no context path be assigned. At the moment, possible <architecture> values are:
The following optional parameters are supported:
legion_generate_domain_cookie [-o <cookie output filename>] [-debug] [-help] Generates a domain cookie file for the current Legion domain, as required by legion_combine_domains (page 22). A cookie file contains binding information for the LegionClass in the current domain, security credentials for joining to the current domain, and information about the context space of the current domain (for creating interdomain context space links). The default cookie file name is LegionDomainCookie.<domain-id>. In a secure environment you must be logged in as /users/admin for the current domain. This ensures that the required credentials can be generated and saved in the cookie file. The following optional parameters are supported:
legion_init_arch [-debug] [-help] Creates and registers implementation objects for commonly used classes in the current architecture. This command is run on a new host to create its implementation objects in the proper place. Implementation objects for specific binary executables can be created with the legion_create_implementation utility (page 23). The sample below, run on a linux machine, creates a set of implementation objects for a linux host.
The following options are supported:
legion_list_domains [-debug] [-help] List the domains currently connected to your current Legion domain. The output will list the binding for your current domain and any domains linked to your current domain. Please see legion_combine_domains (page 22) for information about connecting Legion domains. The following options are supported:
legion_print_domain_cookie [-i <cookie input file>] [-debug] [-help] Displays the contents of a Legion domain cookie file (required for using legion_combine_domains). By default the command displays the contents of the file LegionDomainCookie.<current-domain-id>, but any input file name can be specified using the -i option. The following options are supported:
1. The HPUX 11 platform is available upon request. We will include an HPUX 10 platform in a future release. 2. The T90 and T3E architectures must be used with virtual hosts. Please see section 14.0 in the System Administrator Manual.
legion@Virginia.edu
|