10.0 Object attributes

Legion attributes provide a general mechanism to allow an object to describe itself to other objects in the system. An attribute is a tuple that contains a tag and a value; the tag is a character string, and the value contains data that vary for different tags. Attributes reside in the address space of the object that they describe, and can be accessed via object-mandatory functions (such as getAttributes()). These functions' parameters can be empty, contain a specific tag or set of tags, or contain <tag, value> pairs. The set of attribute kinds (i.e., tags) supported by an object depends on the object's type. For example, each host object contains attributes describing the architecture and system configuration of the machine it represents (e.g., <Architecture, Sparc>, <Operating System, Solaris>). A sample host's attributes are listed below.

$  legion_list_attributes -c /hosts/BootstrapHost

/hosts/BootstrapHost:
	(ALL)
Total attributes retrieved 37
	atime('988412802', '880861')
	mtime('988412802', '880861')
	creattime('988412802', '880861')
	host_property('interactive')
	host_max_objects(30000)
	host_throttle_policy('drain')
	implements('host')
host_loid('1.3aebb158.07.01000000.000000409f388f3eade37f8f6be
6e2b52ecb5bab101e64ac370fddb1aa2e5cb79d3dedfe6d3f9b78bc33e3e4
43cdd755e347e91e6a64772710346421ae10631fdbf1e2c3')
host_compatible_vault('1.3aebb158.03.01000000.00000040b917f87
49c97ee3310b25b68a8485586e2689518d7e64862c0a861b3417f440ec86a
88db2489fa0d6f0c0cd971c724d28c6926d3c36d832f43306bfd491ce889')
cache_loid('1.3aebb158.09.01000000.00000040c4fa3ecc9fc250efdc
cb634ce06aa682b78e5670e2fb31329e616d6abc27a9c0315635914ad0591
8c6dd1105975c0632dfa82560840b4a2e8496835642bd98c1')
	autoSleep(-1)
	host_legion_architecture(1)
	host_os_name('Linux')
	host_node_name('deneb')
	host_os_release('2.2.14-5.0')
	host_os_version('#1 Tue Mar 7 21:07:39 EST 2000')
	host_architecture_type('8')
	host_hw_provider('GenuineIntel')
	host_num_processors(1)
	host_speed(930.610000)
	host_physical_memory(1036296)
	host_max_swap_space(2048276)
	remote_collection_pushing(1)
	remote_collection_update_interval(240)
local_binding_agent('1.3aebb158.04.01000000.00000040da7e801f4
254b31485cfbf975099dea52941ea72670c7adec964ec98674e31dd4c2284
fa3928e9d788073b7f10a7edb9991cb9506372ec0c46c806278d58b3b9')
context_link('1.3aebb158.05.01000000.00000040c59a21e922964a8e
d3c0b43e9613af6886e0ee1655dcc2f41b56704862807f9db89584d41322c
de4fa7cbcfb7c59654e6ee372fc5a9415852cc0cc5916f971b3', '1.3aeb
b158.05.04000000.00000040b3187539ee923c078587c326b11c2e062490
0ec95797946275eb439e87fd5dfb8f34098cd3efd22bb2f20ef0813d15ed0
f739fca8870dd69b5884333dfce7d47', 'BootstrapHost')
context_link('1.3aebb158.05.01000000.00000040c59a21e922964a8e
d3c0b43e9613af6886e0ee1655dcc2f41b56704862807f9db89584d41322c
de4fa7cbcfb7c59654e6ee372fc5a9415852cc0cc5916f971b3', '1.3aeb
b158.05.04000000.00000040b3187539ee923c078587c326b11c2e062490
0ec95797946275eb439e87fd5dfb8f34098cd3efd22bb2f20ef0813d15ed0
f739fca8870dd69b5884333dfce7d47', 'deneb.cs.virginia.edu')
	ctime('988413038', '460693')
	host_type('pcd')
	host_num_objects(31)
	host_uptime(2510282)
	host_one_minute_proc_load(0.000000)
	host_five_minute_proc_load(0.000000)
	host_fifteen_minute_proc_load(0.000000)
	host_current_time(988989345)
	host_physical_memory_avail(8076)
	host_swap_avail(2041280)

Programmers can include arbitrary attribute sets in the objects that they create. During an object's lifetime, its attributes can be dynamically updated or augmented to reflect changes in the object.

Directory of Legion 1.8 Manuals
[Home] [General] [Documentation] [Software]
[Testbeds] [Et Cetera] [Map/Search]

Free JavaScripts provided by The JavaScript Source

legion@Virginia.edu
http://legion.virginia.edu/