Slashdot Mirror


User: ulatekh

ulatekh's activity in the archive.

Stories
0
Comments
294
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 294

  1. Re:Fancy programming languages are NOT the solutio on Threads Considered Harmful · · Score: 1

    I was hinting at the fact that we are talking of an unnamed system with unnamed processors. It makes it harder to give a qualified answer

    Hmmm, let's see. There are exactly two next-generation game consoles in existence. One is symmetric-multiprocessing, the other is asymmetric-multiprocessing. And you're willing to admit, in public, that you're confused by this?

    I guess it's a stroke of luck that you're too dense to understand how humiliated you should feel.

  2. Re:Fancy programming languages are NOT the solutio on Threads Considered Harmful · · Score: 1

    But unless that mystery instruction sync's all the processors' caches (and registers, if your compiler decided to put your variable in a register), you will still have these errors.

    Mystery instruction? It's well documented.

    Also, anything you need communicated to other threads needs to be put into what C++ would call a "volatile" variable. You can't expect randomly-architected code to just magically work in a multithreaded context.

    Of course, if I understood you correctly, and the system in question only had one processor...

    Where did you get that impression? I clearly called it "asymmetric-multiprocessing".

    At the risk of sounding "uptight", you sound like a very lazy programmer. You don't understand the subject of multithreading, you don't even read what I write, and yet you act as if your opinion has merit.

  3. Re:Fancy programming languages are NOT the solutio on Threads Considered Harmful · · Score: 1

    And of course, should you program ever run a multi-processor system, it will fail in all sort of subtile, non-predictive way. E.g., in all cases where a variable has been loaded into a register, but likely there are also cases involving caching to some degree.

    On the aforementioned unnamed game console, that's called a "lightweight sync", and is a processor instruction.

    Don't confuse your lack of knowledge with the lack of an answer.

  4. Fancy programming languages are NOT the solution. on Threads Considered Harmful · · Score: 4, Interesting

    I'm tired of reading replies to this article that evangelize some fancy-schmancy high-level solution. I wonder if these advocates have ever tried writing production code in such an environment.

    Let me give you a wonderful example of when theory simply doesn't meet reality.

    Recently, I wrote a bunch of multi-threaded code for a next-generation asymmetric-multiprocessing game console that shall remain nameless. Its operating system has a wonderful complement of synchronization features. There's the usual mutex lock/unlock, and the usual condition signal/wait, but there are also event queues (queues of generic events that can be passed between threads running on different types of processors), lightweight mutexes/conditions, spinlocks, semaphores, reader/writer locks, and so on and so on. Truly a rich palette from which one can paint a wonderfully synchronized multi-threaded application! I then proceeded to try to rewrite a key section of our code in a very multi-threaded way.

    The problem was, the first version of this code added NINETY milliseconds per frame to our main thread. A profile showed that nearly all of the extra time was spent in the operating system's synchronization features.

    After much rewriting and much pain, I stopped using all of the operating system's synchronization features, and used processor-level atomic operations instead, and finally, the extra code accounted for only FOUR milliseconds per frame in our main thread (with the rest of the time successfully farmed out to separate threads).

    I challenge anyone with a fancy-schmancy automatic concurrency solution to demonstrate that it doesn't have this problem.

  5. Yes! Example: craftsman vs. assembly line on Threads Considered Harmful · · Score: 1

    Exactly. A single-threaded program is like a craftsman. A concurrent program is like an assembly line. Humanity has only been doing assembly lines for over a century now, i.e. Henry Ford's car factory. It sure would be nice if we could bring computer programming up to the beginning of last century.

    Every other engineering discipline seems to be able to handle the concept. The only thing holding up the software world from embracing concurrency is our own collective lameness.

  6. Re:Maybe 2008 is the year... on 158 Pages of Microsoft's Dirty Laundry · · Score: 1

    Don't forget...

    • The X360 hardware reliability debacle
    • The PS2 and Wii outsell the X360 every month
    • SCO, Microsoft's Linux-bashing proxy, is on the ropes
    • HD-DVD losing to Blu-Ray
  7. I thought school had ALWAYS been boring. on SAS CEO Blasts Old-School Schooling · · Score: 1

    School (at least the American school system I'm familiar with) takes something beautiful and wondrous like learning and manages to suck all the joy out of it. All school really did was expose me to a bunch of subjects that I otherwise might not have looked at. But I did all of my learning on my own, by doing things I was interested in. Around age 7 I got into chemistry, and got rather proficient with my home laboratory. I was learning stuff I wouldn't encounter in school for years, just to advance my chemistry hobby. Later, as the personal computer revolution hit, I got into computer programming. Through that I personally advanced my education far beyond what I would have gotten in school, all in the pursuit of increased ability with computers.

    I feel sorry for anyone expecting to get an education out of school. I feel especially sorry for anyone that thinks learning is joyless and tedious just because that's how it was in school. School is not about education; it's about meeting legally minimum standards and making sure the vast majority of the people pass. Education is, and always will be, something you have to pursue on your own, for your own reasons.

    Regarding his specific complaint about the lack of American scientists and engineers...that's because students entering college aren't stupid. They saw all the engineers get laid off during the dot-com bust, even though H1-B visa caps for engineers didn't get lowered for another four years. No one wants to enter a profession that's difficult to master and yet has no job security or much of a future. I don't know what the CEOs of America can do to fix this, but not outsourcing the bejeezus out of science/engineering jobs might be a good start.

  8. How about "empty suit"? on Daniel Lyons of Forbes Admits Being Snowed by SCO · · Score: 1

    That's usually how I insult such people.

  9. Re-release it as a sequel to 1985's Autoduel!!! on Auto Assault Goes Sunset Tonight · · Score: 1

    When I first heard of Auto Assault, I thought someone had finally remade AutoDuel, still my single favorite video game of all time. Then I found out there was no single-player experience, just a MMORPG. Bleah.

    Please re-release Auto Assault with a deep single-player experience! Granted, I'll never leave the house again, but I didn't really want to anyway.

  10. I hereby nominate my own code! on Any "Pretty" Code Out There? · · Score: 1

    y4mdenoise is a temporal video denoiser I wrote some years back. Oh, if I only had time to continue working on it...I'd love to port it to Cell. Damn day jobs.

  11. Re:Other ways: helpful aliens, new physics on The Impossibility of Colonizing the Galaxy · · Score: 1

    I've looked at the web site you linked to, and the ideas presented there are, unfortunately, childish nonsense.

    Yeah, and Pasteur's germ theory was "ridiculous fiction", and elementary school knowledge proved that Goddard's rockets were impossible, etc. etc. "Scientific consensus" has a long and storied history of being wrong. It may be right here, but you don't know until all the results are in.

  12. Other ways: helpful aliens, new physics on The Impossibility of Colonizing the Galaxy · · Score: 2, Insightful

    In the Star Trek mythos, as soon as we invented a suitably advanced technology (warp drive), the aliens started paying attention to us and showed us how to do far more advanced things. That'd certainly jump-start our own efforts to colonize space.

    Besides, there are severe limitations in our current understanding of physics. Who says we can't easily take a 4th-dimensional shortcut through 3-dimensional space? Or dilate time so that we effectively go much faster than the speed of light?

    Perhaps our understanding that matter cannot travel the speed of light is based on an enormous experimental error; if the magnetic waves in a particle accelerator travel the speed of light, then it can't accelerate anything past the speed of light, and any attempts to do so will consume more and more energy with no apparent increase in speed. Hence our misunderstanding about "relativistic mass". Hey, I'm just saying that such an enormous error is totally possible! And others have pointed that one out too!

    There are far too many comments on this article for mine to ever be seen, but what the heck, I figured I'd post it anyway. It may be as futile as, say, trying to colonize interstellar space, but I posted it anyway.

  13. Here's a far more likely possibility... on Fermi Paradox Predicting Humankind's Future? · · Score: 1

    I think it's far more likely that Earth is another planet's Hell. Alien civilizations haven't visited us for the same reason that you don't spend family vacations in Supermax.

    Too bad our collective self-centered arrogance prevents us from considering this.

  14. No good games? on Blu-ray/HD DVD Disc Sales Numbers Revealed · · Score: 1

    with so few games worth playing on the machine right now
    Maybe I'm a dementoid or something, but I'm totally addicted to Dark Kingdom right now...
  15. Here's what I want to see on Blu-Ray... on Blu-ray/HD DVD Disc Sales Numbers Revealed · · Score: 1

    The current movie selection on both formats is pathetic.


    You're damn right it is! Here's what I want to see on Blu-Ray, posthaste:

    • Woodstock
    • Monterey Pop Festival
    • Blue Man Group: Complex Rock Tour
    • James Brown: Live at the House Of Blues, 2002 (shot in HD!)
    • Rush: Replay x 3
    • Rammstein: Live Aus Berlin
    • Rammstein: Volkerball
        (hmmm...do you get the idea I want some freaking concerts? :-)
    • Jurassic Park
    • Apocalypse Now
    • Koyaanisqatsi


    I can only watch the Blu-Ray of Blazing Saddles so many times...though the desert scenes are drop-dead gorgeous...

  16. YES! AUTODUEL! on Sequels We'd All Like To See · · Score: 1

    Autoduel is still my single favorite video game of all time. It was a free-roamer, way before GTA, and the flexibility it offered with car design is still unmatched in my experience.

    Auto Assault is also made by Lord British and Origin Systems (the makers of Autoduel), but was a MMORPG. I don't want to play MMORPGs. If they re-sold Auto Assault with a deep single-player experience, I'd be in gamer heaven.

  17. No code samples? Your skills lack depth. on Where Should I Get My Job Interview Code Samples? · · Score: 1

    Computer programming is too large and too difficult of a subject to learn merely at work. If you're not programming in your off-time, then you probably don't feel very strongly about the subject of computer science. I'd say there's a good chance you care more about the size of your paycheck than you do the quality of your code. I'd also say there's a big chance your skills lack depth. You're the programmer that finds it hard enough to merely get something to work; when asked to improve performance, or to make your code run on multiple non-symmetric processors, I'm guessing you get the "deer-in-the-headlights" look in your eyes.

    My favorite interview question, to ask and be asked, is "Show us a piece of code that you wrote, that you're proud of, and explain to us what it does and how it works." That tells me everything I need to know about a programmer.

    So what about the ability to get along with others, you ask? Not surprisingly, I say "bollocks" to that. This recent trend of caring more about people's feelings than their brains, ethics, or effort, is a stupid idea that has nothing to do with actual accomplishment or success or anything else, and anyone that subscribes to it is doomed to a downward spiral of irrelevance. You accomplish nothing by getting along fabulously as you run the company straight into the ground. If you're unclear on why, there's a famous book that explains it in voluminous detail.

  18. The PS3 creams the Xbox 360 (nice try Mr. Gates) on The Art of PS3 Programming · · Score: 2, Insightful

    Allow me to state the obvious:

    (1) The PS3 has not shipped yet.
    (2) There is no final PS3 hardware that runs at full speed yet.

    The Cell has been available for programming for a while now. I think reference platforms (i.e. other than PS3 prototypes) might even be available. Cell is being used for far more than the PS3. Also, sure the PS3 might run faster than 3.2 GHz, but you make that sound like a bad thing!

    The PS3's Cell processor offers a different solution to the problem -- sub-processors with fast local memory

    Err.. each sub-processor has 256k. I really don't see how that's an advantage, especially when those sub-processors are functionally crippled.

    Between them, they have 2 MB of high-speed memory, which (as you say) is becoming fairly common for L2 cache sizes, plus it's got a traditional L2 cache. So I'm not sure what you mean by "crippled". There are plenty of computing problems (including video game development) that can fit into this sort of sub-processor/DMA-communication model. Anyone that's programmed a PS2 knows this (and you sound like a video game programmer). The Cell just pushes it further.

    the very nontraditional setup of the PS3's Cell chip is capable of vastly outpowering the traditional multiprocessor setup of the X360, mostly due to successfully eliminating memory latency.

    O RLY. Operation phrase: "is capable of". Congratulations doing finite element analysis, non-interactive scientific computing - and rendering animations. But it'll suck for running complicated logic - particularly if that logic has to interact with the logic running on other subprocessors.

    There are plenty of tasks that can be run independently with double-buffered batches of data, and not just scientific computing, but the sorts of tasks that are bound to be prevalent in next-generation video games. Physics simulation, whether for gameplay or weather/cloth/fur/etc. effects, can be made parallel & batchable after broadphase collision. Graphics transformation can be, as it is on the PS2.

    "Complicated logic" can communicate between processors using ring buffers and short DMA messages. But that's only if the logic is truly complicated...this doesn't apply if the code is complicated because it's the usual not-designed, poorly-thought-out, uncommented, global/singleton-happy, spaghetti code, which is the real problem most of the time. The only thing that's going to hold up the software industry taking advantage of the Cell processor's capabilities is our own collective lameness.

  19. The PS3 creams the Xbox 360. (Not a troll) on The Art of PS3 Programming · · Score: 3, Insightful

    The limiting factor on computing speed in the last several years has not been processor design or clock speed, but memory speed. Normal architectures feature two levels of fast SRAM to insulate the processor from the latencies inherent with accessing DRAM over a shared bus. That doesn't get rid of multi-cycle delays, it just tries to reduce their likelihood. Data cache misses are expensive, but instruction cache misses are even more expensive -- all the pipelining that modern processors use to handle large workloads efficiently will break down every time the processor stalls loading instructions from main memory.

    The PS3's Cell processor offers a different solution to the problem -- sub-processors with fast local memory, and an explicitly programmed way to copy memory areas between processors (the "DMA" that the article mentions). The SPEs allow significant chunks of the batch-processing-style parts of a game to run on a processor that has no memory latencies, for data or instructions. Since memory-stall delays can run into the double digits, you can expect the performance increase from fast memory to be in the double digit range too. I've seen a public demo of some medical-imaging software that ran ~50x faster when rewritten for Cell. (The private demos I've seen are similarly impressive, but I can't describe those in detail. :-)

    A traditional multi-processing architecture, like the 3 dual-core chips in the X360, has no such escape from the memory latencies. All coordination of memory state between processors (i.e. through the level 2 cache) is done on demand, when a processor suddenly finds it has a need for it. Prefetching is of course possible, but the minor efficiency gains to be made from prefetching (when they can be found at all) is vastly outweighed by the inherent efficiency of explicitly-programmed DMA transfers. Multi-buffering the DMA transfers allows the SPEs to run uninterrupted, without having to wait for the next batch of data to arrive -- something that isn't really possible with a traditional level-2-cache in a traditional multiprocessing system.

    In short, the very nontraditional setup of the PS3's Cell chip is capable of vastly outpowering the traditional multiprocessor setup of the X360, mostly due to successfully eliminating memory latency.

    Yes, writing code that can run like this is a major freaking pain in the ass. But so what? The biggest reason most code is hard to run on such an architecture is that the code was poorly thought out, poorly designed, and not documented. Any decently-written application can be re-factored to run like this. Besides, this is the future: Cell really does seem to solve the memory latency problem that's crippling traditional computing architectures, and the performance difference is astounding. If you can't rise to the level of code written for such a complex architecture, then your job is in danger of getting outsourced to Third World nations for $5 an hour...as it should be. So quit your whining.

    (First post in ten months. Feels good!)

  20. I use Eiffel-style assertions in C++ on Do Programmers Actually Use Assertions? · · Score: 4, Insightful

    I read the Eiffel book, but I've never been in a position to actually write code in it. But I love the concept of programming by contract.

    I just use assertions to do preconditions, postconditions, and checks. Invariants are a nice idea, but in practice seem to be a big performance hit. I just do invariant-like assertions as needed.

    I assert the heck out of my code. You can see some of it here.

    I don't see too many assertions in other people's code. Then again, I don't see too much that looks like planning or insight in other people's code most of the time, so why should I be surprised. I can't believe how sloppy we are as a profession. Like my coffee cup says...if builders build buildings the way programmers write programs, then the first woodpeckers that came along would destroy civilization.

  21. He meant sad if it lived today... on Scientists Find Soft Tissue in T-Rex Fossil · · Score: 1

    Shaah!

    Hey, finally, my .sig is relevant to my post!

  22. I use Monster cables in my video studio. on Are 'Monster' Cables Worth It? · · Score: 1

    I was sold on Monster cables the day I replaced the wire between my computer and my Bose computer speakers. (This was the wire that came with my Bose speakers, BTW.) With a Monster cable, all of a sudden I was getting a LOT more bass. Songs I'd heard a zillion times sounded a lot better.

    Some time ago, I noticed that DVDs on my mom's player didn't look much better than normal TV programs. I looked deeper, and found that the video cable between the DVD player and the TV was one of those thin-wire cheap pieces of crap. I replaced it with a spare composite-video Monster cable I had lying around, and the picture quality improved dramatically.

    I use nothing but Monster cables in my home-based video studio (a 100% Linux creation, with a Canopus ADVC-300, kino, smilutils, and mjpegtools. Given the experience above, and especially given all the RF interference generated by a typical computer, I didn't dare try anything else.

    In the end, it comes down to whether you can see/hear the difference. Not everyone is wired the same. I can see and hear details that most people can't sense -- so much, in fact, that I'm starting to wonder if I have Asperger's Syndrome or something.

  23. What I think you should do on Game Industry Opinion Continues to Burn · · Score: 1
    Sounds like I`d hire you!

    Too bad you're in Europe :-)

    I heard of practices in an E.A. Sports Games division...

    Hmmm, this was a Sega Sports sub-sub-contractor. And the boss' other 2 video-game credits on MobyGames were a sports game and a pinball game. Maybe it's a sports-game thing? LOL

    ...game code is something that changes so often that designing it is almost a waste of time.

    For game-play code and AI code, you're right. For rendering, physics/collision, and vehicle dynamics, that should be made game-nonspecific and reusable.

    Thankfully, third-party libraries for physics & rendering are coming up to par. 2 1/2 years ago, the internal code at my 1st video game job beat the pants off of Havok and RenderWare in our evaluations.

    Well this is the E.C., you see, [business software is] a cow that needs milking desperately.

    Apparently so! Wow. I don't think we have the same salary differential over here. My games-programming jobs were both well-paid.

    Based on what you've told me, I think you should stick with your current game position. Work you love will always be worth more than work you hate, no matter how much you're paid. The stress of work you hate will spill over into the rest of your life. And, with the demand for business-software programmers, those salaries will probably remain there for a long time. No need to hurry.

  24. Re:What to do on Game Industry Opinion Continues to Burn · · Score: 1
    I never get the idea that I would actually like that kind of a job. If I don`t have the power there to change things around if I see them go bad, I won`t do it..

    I think that last quality varies company to company. The last game company I worked for most definitely gave me no power to change things. The boss went on and on about how he considered the company a "meritocracy", but it seemed merit was measured solely by duration of chair-warming. I tried to fix conditions around me, starting as basic as I could: source-code comments, design documents, and version-control notifications. As my boss fired me, he told me how the company was never going to do any of those things, that he'd never seen it done that way in the game industry, none of the other programmers wanted to do it that way, and so I was being let go. Although you're probably right in thinking a business-software job would be more regimented.

    On the other hand, 9 to 5, and it earns 3 times more than I have now, and I can have the weekend and evenings to work on my own stuff.

    Wait...doing business-software pays 3 times more than game programming? I can be bored for that much money! Sure, I got bored doing tax software, but I was in my mid-20s, and employable, back then...

  25. Omni Consumer Products announces SAINT! on The Rise of Smart Buildings · · Score: 2, Informative

    Oh, come on, I can't be the only one that saw the RoboCop miniseries! Well, maybe I am.