Assuming a DSM system is implemented in middleware without any hardware support and in a
platform-neutral manner, how would you deal with the problem of differing data representations
on heterogeneous computers? Does your solution extend to pointers?

What will be an ideal response?

The middleware calls can include marshalling and unmarshalling procedures. In a page-based implementation,
pages would have to be marshalled and unmarshalled by the kernels that send and receive them. This implies
maintaining a description of the layout and types of the data, in the DSM segment, which can be converted to
and from the local representation.
A machine that takes a page fault needs to describe which page it needs in a way that is independent of
the machine architecture. Different page sizes will create problems here, as will data items that straddle page
boundaries, or items that straddle page boundaries when unmarshalled.
A solution would be to use a ‘virtual page’ as the unit of transfer, whose size is the maximum of the page
sizes of all the architectures supported. Data items would be laid out so that the same set of items occurs in
each virtual page for all architectures. Pointers can also be marshalled, as long as the kernels know the layout
of data, and can express pointers as pointing to an object with a description of the form “Offset o in data item
i”, where o and i are expressed symbolically, rather than physically.
This activity implies huge overheads.

Computer Science & Information Technology

You might also like to view...

To send and receive faxes by using a phone line, your computer needs a(n) ________

Fill in the blank(s) with correct word

Computer Science & Information Technology

Which IPv6 multicast address has been defined to include all hosts that run IPv6 on a local link?

A) FF01::1 B) FF01::2 C) FF02::2 D) FF02::1

Computer Science & Information Technology