Live data from Hacker News

Viewing profile — mjpt777

mjpt777

HN member
Joined
Mon, Oct 31, 2011, 7:09 AM UTC
HN karma
33
Public activity
29 items

About mjpt777

No profile information was provided.

Recent public activity

  1. comment
    Comment #12289224

    The driver does not allocate in the main message flow so GC does not factor in. Also the driver can run out of process and not be impacted by client processes.

  2. comment
    Comment #9291717

    Thanks for the feedback. I'll adjust my terminology to be more precise as it is the right thing to do. Doing things in the open is a great way to learn. I'm not shy of airing my la…

  3. comment
    Comment #9288056

    While one thread is in the action of rotation other producers return right away from the offer. The possibility of starvation occurs if the same thread each time it retried, that b…

  4. comment
    Comment #9286676

    When I re-read the definitions I can see what you take from it. I think it comes down to what you consider as systemic progress. With respect to the preciseness of the definitions …

  5. comment
    Comment #9286540

    I've read the _The Art of Multiprocessor Programming_ and am happy to read it again. Maybe I have misinterpreted. So if "killed mid-operation" must be supported then I don't see ho…

  6. comment
    Comment #9286398

    Writer two is not blocked, it is not waiting, it is not being obstructed. It is wait-free. It returns and can do whatever work it wishes. However the data structure would be corrup…

  7. comment
    Comment #9286343

    You keep saying you are not an expert but keep pushing the point :-) Try this. A process could have a rogue thread scribbling on memory and thus corrupting it. Such a process then …

  8. comment
    Comment #9286306

    If you look at the code the reader does not read the tail. It skips forward reading the length fields. It would never see the writer two message and it never blocks. It just thinks…

  9. comment
    Comment #9286298

    Please read the algorithm in code. No threads ever wait. :-)

  10. comment
    Comment #9286192

    I understand the point that we need to make software robust. No single algorithm can cope with every possible failure mode. That is why we need multiple instances run on multiple n…

  11. comment
    Comment #9286171

    Thanks for the link. If you look at the implementation no thread is ever stopped from completing. If a producing thread was killed mid operation by another malicious thread then th…

  12. comment
    Comment #9286003

    Can you point to a respected publication that states that is the definition of a wait-free algorithm, i.e. that other threads must help and it must cope with killing the thread ext…

  13. comment
    Comment #9285924

    Can you expand on how you see the writer can "fail"? Also please relate this to other algorithms you see as wait-free but don't have your failure issue. The code is very simple and…

  14. comment
    Comment #8555521

    I asked the question if this is based on conjecture or experimental evidence. I'm happy to base my view on experimental evidence from my own research and testing.

  15. comment
    Comment #8542672

    I'm sorry but this analysis is completely wrong. I don't work for Azul but have used C4 and spent time studying it. C4 does not use transactional memory, it does however employ a v…

  16. comment
    Comment #5220647

    x86 is a total store order memory model so any ASM MOV instruction that writes to a memory address will eventually be seen when the store buffer drains. In code we must ensure the …

  17. comment
    Comment #5220205

    You are absolutely right that volatile is inadequate for ordering C/C++ concurrent algorithms, and memory barriers/fences are additionally required. I tried to focus on the hardwar…

  18. comment
    Comment #4665230

    I like to have only one writer thread for any data. This can have its own flyweight. Other threads can be readers each having their own read only flyweight implementation.

  19. comment
    Comment #4665109

    In finance you may be re-evaluating a whole portfolio of assets, or doing a value at risk (VAR) calculation across everything. More often you want low-latency access to the entire …

  20. comment
    Comment #4664852

    Interesting. It sounds like your issues are IO dominant since you do not mind the JVM startup cost from Hadoop for each query on each node. I'm more often looking at large data tha…

  21. comment
    Comment #4664528

    How would it work with object pooling if I wanted to query a large table of data? This is often needed in real big data applications.

  22. comment
    Comment #4205436

    Most of those frameworks you reference are much greater than 1 microsecond round trip which is the same ballpark as good network IO. For IPC this is much less. I operate in the fin…

  23. comment
    Comment #4205182

    State of the art network hop is less than 3us so this is relevant. For on box IPC which can be as low as 100ns then very very relevant.

  24. comment
    Comment #4204801

    The byte[] buffer is deliberate because that is what will typically be passed to the network or IO device, so easier integration. If you check the code you will see the buffer is o…

  25. comment
    Comment #3178902

    A good posting showing the effect of setting thread affinity for version 1.0 of the Disruptor. http://java.dzone.com/articles/java-threads-steroids