Pink Iguana

Home » Architecture » “It’s time for someone to put their foot down, and that foot is me.”

“It’s time for someone to put their foot down, and that foot is me.”

Steven Perlberg, BI, NASDAQ: The Trading Freeze Was Due To A Software Bug, here.

NASDAQ OMX determined to halt trading on August 22 after the SIP could not process quotes thereby impacting the fair and orderly functioning of the public market. As outlined in more detail below, the catalyst for the SIP failure was a confluence of unprecedented events that overwhelmed the processing capacity of the SIP. Our review indicates that high frequency trading played no role in the technology events of August 22.

As with any technology system, the SIP has finite capacity. The SIP’s governing committee plans for capacity based on the needs of its member exchanges, adding an appropriate cushion of extra capacity to handle heavier than expected volume. In January 2013, a regularly scheduled systems capacity test showed the SIP system was capable of handling approximately 500,000 messages per second across 50 of the SIP system’s ports, for an average peak of approximately 10,000 messages per-port, per second. The tests are conducted in a controlled environment – performance in real-life scenarios will typically be lower.

Huh, HFT played no role? Well now they are on Double Secret Probation.  Dean Wormer is going to force Miles Kimball to get something on those sneaky guys from Delta House.

KWRegan, GLL, D Plus O Equals Do, here. Check in with MOOCs in the new world. Check out the links

For one example, in our intro Data Structures course using C++ last spring, I covered the text’s long chapter on arrays (C++ vector) and linked lists, explaining using Big-O timing notation the situations where one might prefer one over the other. Toward the end of a lecture, I related that in practice vector is almost always better—even when the theory favors list. I’d read an article to that effect, and this much-noted post puts the point even more strongly. I explained some things about modern hardware, such as caching and pipelined multiple execution, that were not in the text.

KjellKod.cc, Code Project, Number crunching: Why you should  never, ever, EVER use linked-list in your code again, here. Pretty funny, the term “Number Crunching” is self negating. In the rest of that sentence, paragraph, and story no numbers have any realistic chances of being crunched. The Fused Multiply-Add Floating Point units are almost certainly idle for vast stretches of time sitting next to an execution pipeline so filled with bubbles, it’s frothy.  The phrase “Number Crunching” is like “going to the Stones concert to pick up chicks” or “getting Allen Iverson’s 2013 retirement account asset allocations;” none of those actions described are actually going to happen.   I wonder about doubly linked lists versus vector, are there any definitive studies of the relative performance on contemporary microprocessors?

When it comes to number crunching then the vector or other adjacent memory structure should be the default and not the linked-list. Of course every new situation needs to be analyzed and data structure and algorithm chosen appropriately. Apply the knowledge you got reading this wisely, only use the linked-list if it will give benefits not easily retrieved from an array-based structure.


Leave a comment