<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: QCon London 2008 – Part 2 (Banking track details)</title>
	<atom:link href="http://lsblog.wordpress.com/2008/03/22/qcon-london-2008-%e2%80%93-part-2-banking-track-details/feed/" rel="self" type="application/rss+xml" />
	<link>http://lsblog.wordpress.com/2008/03/22/qcon-london-2008-%e2%80%93-part-2-banking-track-details/</link>
	<description>Random thoughts about software, trading and live</description>
	<lastBuildDate>Thu, 10 Sep 2009 22:39:47 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: sandrar</title>
		<link>http://lsblog.wordpress.com/2008/03/22/qcon-london-2008-%e2%80%93-part-2-banking-track-details/#comment-2861</link>
		<dc:creator>sandrar</dc:creator>
		<pubDate>Thu, 10 Sep 2009 22:39:47 +0000</pubDate>
		<guid isPermaLink="false">http://lsblog.wordpress.com/?p=36#comment-2861</guid>
		<description>Hi! I was surfing and found your blog post... nice! I love your blog.  :) Cheers! Sandra. R.</description>
		<content:encoded><![CDATA[<p>Hi! I was surfing and found your blog post&#8230; nice! I love your blog.  <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Cheers! Sandra. R.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: libor</title>
		<link>http://lsblog.wordpress.com/2008/03/22/qcon-london-2008-%e2%80%93-part-2-banking-track-details/#comment-2819</link>
		<dc:creator>libor</dc:creator>
		<pubDate>Tue, 25 Mar 2008 08:01:53 +0000</pubDate>
		<guid isPermaLink="false">http://lsblog.wordpress.com/?p=36#comment-2819</guid>
		<description>John,
Many thank for commenting blog post and addressing some of my questions.

I have to say majority of my work so far was focused on front office application running as SaaS business model (i.e. fully managed solution for banks). Just last year I have chance stepped into middle office “water” functionality (i.e. clearing trades for that matter). Therefore majority my experience with integrating our system with “external” banks comes from trading part. From this point of view I have to say we do not have any client who would use FpML or XML as data exchange format with us. What they usually ask is “plain” CSV file (or DB version) based on “variant” of ClearVision “welcome” table. This leads me to think “banks” data import process is somehow accustomed to CSV form and servers as bases for transformation to their internal format. As emerging “standard” here I can see FIX drop copy IN/OUT variants which gets quite big traction recently. 

Speaking about parallel execution I’m looking forward to hear your experience with resolving issues on this topic especially when there is ordered execution requirement involved. 

Latency time measurement on high throughput system can get quite tricky on any platform especially if you need to do consistent monitoring of all events in precision of several millisecond (say total exec. time up to 5ms on any price update from incoming exchange message to update on user screen or delivered to external system). We are running our application exclusively on MSFT server version which does not support us on this case well. Therefore we have to take special steps to compensate for it. And through this experience I know correlation of time on distributed system might get quite “big” correlation errors (well big in terms of short latency time we are measuring on updates here) especially when system is under high load. From all that steams my interest in latency time measurement. Thanks for putting light on this issue from other system perspective.

-Libor</description>
		<content:encoded><![CDATA[<p>John,<br />
Many thank for commenting blog post and addressing some of my questions.</p>
<p>I have to say majority of my work so far was focused on front office application running as SaaS business model (i.e. fully managed solution for banks). Just last year I have chance stepped into middle office “water” functionality (i.e. clearing trades for that matter). Therefore majority my experience with integrating our system with “external” banks comes from trading part. From this point of view I have to say we do not have any client who would use FpML or XML as data exchange format with us. What they usually ask is “plain” CSV file (or DB version) based on “variant” of ClearVision “welcome” table. This leads me to think “banks” data import process is somehow accustomed to CSV form and servers as bases for transformation to their internal format. As emerging “standard” here I can see FIX drop copy IN/OUT variants which gets quite big traction recently. </p>
<p>Speaking about parallel execution I’m looking forward to hear your experience with resolving issues on this topic especially when there is ordered execution requirement involved. </p>
<p>Latency time measurement on high throughput system can get quite tricky on any platform especially if you need to do consistent monitoring of all events in precision of several millisecond (say total exec. time up to 5ms on any price update from incoming exchange message to update on user screen or delivered to external system). We are running our application exclusively on MSFT server version which does not support us on this case well. Therefore we have to take special steps to compensate for it. And through this experience I know correlation of time on distributed system might get quite “big” correlation errors (well big in terms of short latency time we are measuring on updates here) especially when system is under high load. From all that steams my interest in latency time measurement. Thanks for putting light on this issue from other system perspective.</p>
<p>-Libor</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pligg.com</title>
		<link>http://lsblog.wordpress.com/2008/03/22/qcon-london-2008-%e2%80%93-part-2-banking-track-details/#comment-2817</link>
		<dc:creator>pligg.com</dc:creator>
		<pubDate>Sun, 23 Mar 2008 16:54:28 +0000</pubDate>
		<guid isPermaLink="false">http://lsblog.wordpress.com/?p=36#comment-2817</guid>
		<description>&lt;strong&gt;QCon London 2008 – Banking Track Details&lt;/strong&gt;

Good overview of the recent banking track at Qcon 2008 in London - talks about Low Latencym processing, John Davies presentation, Swift ML, Betfair&#039;s architecture and more.</description>
		<content:encoded><![CDATA[<p><strong>QCon London 2008 – Banking Track Details</strong></p>
<p>Good overview of the recent banking track at Qcon 2008 in London &#8211; talks about Low Latencym processing, John Davies presentation, Swift ML, Betfair&#8217;s architecture and more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Davies</title>
		<link>http://lsblog.wordpress.com/2008/03/22/qcon-london-2008-%e2%80%93-part-2-banking-track-details/#comment-2811</link>
		<dc:creator>John Davies</dc:creator>
		<pubDate>Sun, 23 Mar 2008 00:23:11 +0000</pubDate>
		<guid isPermaLink="false">http://lsblog.wordpress.com/?p=36#comment-2811</guid>
		<description>Libor,
   Thanks for such a comprehensive and, in my case complimentary write up. A few point for future readers... I think it&#039;s safe to say that XML is probably behind the majority of internal messaging in banks with the exception of the front office where you see a lot of FIX and perhaps the back office with SWIFT. The majority of large banks have an internal canonical format usually based on a derivative FpML or more recently parts of ISO-20022. It is true though that we still see a large amount of CSVs and Excel spreadsheets being sent around and there are areas where this is the majority format (sadly).

Both examples I gave (again pulled up at the last minutes I might add) were cases where, as you say, perfect parallelisation gives near perfect scalability however order-dependent systems are less well served. Obviously this reflects Amdahl&#039;s law and if I&#039;d had more time I would have loved to have shown you some of the issues with had with parallel threads in distributed systems and how we got around them (most of them). Perhaps a topic for QCon in Denmark later this year.

Finally you ask about latency timing, frequently network monitors will go down to nS timing but most Linux systems will happily measure micro seconds or in some cases better. Since we&#039;re usually talking about a few milliseconds a resolution of micro seconds give us plent of resolution to measure latenct at this level. A useful tool we frequently use for seeing what&#039;s going on on the network is ethereal or tethereal (now replaced by wireshark), I think you can get MS versions of it but don&#039;t try it at work a you&#039;ll probably get fired if anyone catches you using it (i.e. try it but don&#039;t get caught). Distributed systems are normally synchronised by NTP, it takes into account the network latency but of course there is always some level of error, I would expect systems in a subnet to be synchronised to better than 2ms.

Good write up, please say hi at the next show,

-John Davies-</description>
		<content:encoded><![CDATA[<p>Libor,<br />
   Thanks for such a comprehensive and, in my case complimentary write up. A few point for future readers&#8230; I think it&#8217;s safe to say that XML is probably behind the majority of internal messaging in banks with the exception of the front office where you see a lot of FIX and perhaps the back office with SWIFT. The majority of large banks have an internal canonical format usually based on a derivative FpML or more recently parts of ISO-20022. It is true though that we still see a large amount of CSVs and Excel spreadsheets being sent around and there are areas where this is the majority format (sadly).</p>
<p>Both examples I gave (again pulled up at the last minutes I might add) were cases where, as you say, perfect parallelisation gives near perfect scalability however order-dependent systems are less well served. Obviously this reflects Amdahl&#8217;s law and if I&#8217;d had more time I would have loved to have shown you some of the issues with had with parallel threads in distributed systems and how we got around them (most of them). Perhaps a topic for QCon in Denmark later this year.</p>
<p>Finally you ask about latency timing, frequently network monitors will go down to nS timing but most Linux systems will happily measure micro seconds or in some cases better. Since we&#8217;re usually talking about a few milliseconds a resolution of micro seconds give us plent of resolution to measure latenct at this level. A useful tool we frequently use for seeing what&#8217;s going on on the network is ethereal or tethereal (now replaced by wireshark), I think you can get MS versions of it but don&#8217;t try it at work a you&#8217;ll probably get fired if anyone catches you using it (i.e. try it but don&#8217;t get caught). Distributed systems are normally synchronised by NTP, it takes into account the network latency but of course there is always some level of error, I would expect systems in a subnet to be synchronised to better than 2ms.</p>
<p>Good write up, please say hi at the next show,</p>
<p>-John Davies-</p>
]]></content:encoded>
	</item>
</channel>
</rss>
