Re: Azul for HFT

172 views
Skip to first unread message

Jimmy Jia

unread,
Feb 19, 2015, 1:40:44 AM2/19/15
to mechanica...@googlegroups.com
Gil can defend himself, but he's speaking the truth when he says that the vast majority of people who have written zero-allocation Java HFT platforms would have just gone with Zing if they had the choice to do it all over again.

In general, you have one of these systems because you started building your system before Zing became an option, and if you've already bitten the bullet and have a big enough codebase that you're not hurting for being unable to use third-party dependencies, the pauseless GC bit doesn't help you that much, although even then, ReadyNow! can be a bit of a killer feature.

But you know what? Allocation-free Java systems are rare, and they're hard as hell to build, and even harder to maintain. From the questions you've posted on this list, you've made it clear that you don't have one - heck, you allocate memory on your critical path, which is almost the worst kind of thing possible here.

You know, one of the amazing things about this community is that it's very good about sharing information that, almost everywhere else, would be desperately hoarded. If your low latency is your competitive advantage, you tend not to want to talk about the techniques you use. Maybe you're God's own gift to low latency trading system development and you know about all the techniques that have been mentioned here today, between this and the other thread on HFT. Given that you're talking about a FIX parser in Java that creates a bunch of garbage, probably not, but I'm telling you that outside of this and a very few other places, that this is knowledge that is often very closely guarded.

So there's a very damn good reason you're not going to be hearing about trading companies using Zing. If you're seeing latency issues due to GC caused by your allocating memory, and you're working on a trading system, there's a pretty damn good chance that just using Zing and getting rid of those tails will mean you make more money, net.

On Thu Feb 19 2015 at 1:17:48 AM Janny <winnie...@gmail.com> wrote:
Hi Gil, 

Do you think you sound defensive by telling people that you don't know them only because they question facts about Azul?

If you tell me:
"very smart people out there that have written zero-allocation Java for HFT and other trading platforms"

I may clearly read it that Zing should be very carefully evaluated given the price and other benefits before moving to it and for the most project the safest option still will be Sun JDK with very smart people out there.

One more things: narrow focused companies like yours are very keen to get approval from customers to tell that they use their technology. Zing is not something secret and specific for companies not to give approval for it. On this webpage I can only see Credit Suisse (and for slow Fixed Income trading, not for FX and Equities) and Barclays: http://www.azulsystems.com/content/case-studies.

I'm very sceptical here only because of facts, I can't buy something only because mere mortals Martin or Gil said it is cool.


On Thursday, February 19, 2015 at 10:13:59 AM UTC+8, Gil Tene wrote:
Wow. I go diving (I'm on vacation) and skip looking at the list for 24 hours, and this thread happens... Cool to see people stepping in to answer with their actual knowledge of Zing use in FinServ.

BTW, does anyone know who this Janny guy is, and if he actually works in HFT? Because I have never heard that he actually does ;-)

Janny, I'm obviously not going to list banks that use Zing, and what they each actually do with it. But here are some statements that I can make:

1. To your question about "biggest banks": MOST of the world's largest investment banks currently use Zing. [you can look up "largest investment banks", and "most" elsewhere ;-) ]. So now you can't honestly say "...I have never heard that the biggest banks use it." because you heard it here, and not just from me.

2. Zing is certainly used in HFT (and other latency sensitive trading platforms), but there are plenty of other things FinServ firms do with it.

3. FinServ represents a good chunk of Zing use and business, but it is NOT the majority (for either). There are plenty of response-time sensitive businesses and applications out there, and the fact that Zing trivially eliminates *ALL* GC-related glitches is useful across a wide breadth of applications and industries. Whether your definition of an unacceptable glitch (or 99.9%'lie) is 1msec, 10msec, 100msec, 1 sec, or 10 sec, and whether your heap size is 1GB, 10GB, 100GB, or 1TB, Zing will tend to get you to where you need to be quicker and cheaper.

4. Yes, there are some very smart people out there that have written zero-allocation Java for HFT and other trading platforms. Most of them did so because/when Zing was not an option. And most of our lowest-latency-telorating customers use Zing because they can now *avoid* much of the effort they had to apply before using it. They can build code and get to market faster, with fewer bugs, and with fewer people. And they can apply the actual power of their modern commodity computers and very smart engineers to competitive advantage, rather than wasting resources re-solving a now-solved problem over and over again.

5. The reason you don't see job postings for "Zing" skills is that using Zing does not require any "Zing skills". You deploy stuff just like you would with any other JDK (except that you spend a lot less time tuning), you write regular Java code (there are no Zing libraries or APIs), and your Java things just work right without needing those special "low latency" rules like "don't use more than X heap" or "Don't allocate more than Y/sec" to avoid annoying pauses at any level. To be clear, to write good low latency code you still need to be smart, and still need to write performant code, but those nonsense practices that were simply there to work around broken garbage collectors (ones that pauses when you do normal Java things) are simply a thing of the past. Unless you like to live in the past.


On Tuesday, February 17, 2015 at 9:43:21 PM UTC-4, Janny wrote:
Just curios are there any examples of Azul usage in HFT? I have never heard that the biggest banks use it. Also what is the future of investment with value types coming in the future JDK versions?

--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages