Discussion Forums

Re: FAST Extension proposal - MAP
Craig Richards / BourseTech <>
29 Sep 2008 11:21AM ET

Would the map values be reset upon a dictionary reset? If not, at what point do they lose their meaning?

- Craig

> All,
>
> this is the third of four proposals announced in a previous post. Please
> review and comment. /Rolf
>
> EXTENSION PROPOSAL - MAP (table of {id, value} mappings)
>
>
> Background
>
> We have found (empirically in live feeds) that the "bit density" of some
> fields is lower than optimum. These fields take one of very few
> alternate values. As a consequence, the field value could be represented
> with less than 7 bits, which is the minimum field length in FAST for
> present values. The bit density could be increased by allowing packing
> of multiple field values into one SBIT-encoded field.
>
>
> Introduction
>
> A map is a table of values with corresponding identifiers: {id, value},
> {id, value}, ... The id is a integer quantity whereas the value may be
> numberic, string, or byte vector in type. The idea is to replace a
> larger (size-wise) value with a more compact id.
>
> The map is shared between the sender and the receiver so that the sender
> can define the {id, value} once and then repeatedly refer to the value
> by sending the id.
>
>
> Example
>
> Let's assume that you have a field where the value alternates between a
> set of values. As an example, the values of Symbol (tag 55) may be
> limited to a set of underlying security symbols.
>
> The encoding af fields like symbol may be more space efficient with a
> mechanism that allows an encoder to define and use a set of values.
>
>
> Wire representation
>
> A MAP encoding will require additions to the wire format.
>
> One alternative would be to add the following wire format:
>
> A reference is encoded as a non-zero index A definition is encoded as a
> zero followed by a non-zero index and a value. A definition is at the
> same time a reference.
>
> Abstract example of map wire representation:
> ||1|foo| => index=1 is defined as value='foo' 1| => a reference to
> |index 1 i.e. 'foo' |1|bar| => index=1 is redefined as value='bar'
>
> (On a side-note, This format allows an encoder to choose between
> different replacement algorithms (fifo, lru, ...))
>
>
> Template Syntax
>
>


FAST Extension proposal - MAP
Rolf Andersson / Pantor Engineering   28 Sep 2008 3:24AM ET
Re: FAST Extension proposal - MAP
David Rosenborg / Pantor Engineering AB   28 Sep 2008 4:23AM ET
Re: FAST Extension proposal - MAP
Rolf Andersson / Pantor Engineering   28 Sep 2008 4:52AM ET
Re: FAST Extension proposal - MAP
Jacob Northey / The LaSalle Technology Group   29 Sep 2008 10:34AM ET
Re: FAST Extension proposal - MAP
Rolf Andersson / Pantor Engineering   29 Sep 2008 12:42PM ET
Re: FAST Extension proposal - MAP
Rolf Andersson / Pantor Engineering   29 Sep 2008 12:50PM ET
Re: FAST Extension proposal - MAP
Jacob Northey / The LaSalle Technology Group   29 Sep 2008 1:12PM ET
Re: FAST Extension proposal - MAP
Jacob Northey / The LaSalle Technology Group   29 Sep 2008 1:22PM ET
Re: FAST Extension proposal - MAP
Rolf Andersson / Pantor Engineering   29 Sep 2008 2:48PM ET
Re: FAST Extension proposal - MAP
Craig Richards / BourseTech   29 Sep 2008 11:21AM ET
Re: FAST Extension proposal - MAP
Rolf Andersson / Pantor Engineering   29 Sep 2008 11:49AM ET