English | 中文 | Русский | Français
2,555 Posts served
8,264 Conversations started
A study conducted at the University of Washington has found that home robots may be a security and privacy leak for their owners. The authors of the study point out that it is not the case where intelligent robots will throw off their shackles and attack their owners. It's a situation that some robots on [...]
Last night I got a birthday gift from my wife that practically every computer programming nerd would want from their significant other. That's right, I got a copy of CLRS 3!
I just read an article about an NSF grant to continue and expand the Georgia Computes! program. (My state has gotten funding to start a similar program.) The program is seeking to broaden the appeal of pursuing CS degrees especially among girls and women, minorities, and persons with disabilities across the state of Georgia. [...]
Like many Intel folks, I attended the recent Intel Developer Forum. There's been lots of ink and pixels devoted to touting all the announcements and cool upcoming technology things that were demoed during the conference. Rather than rehash all that again, I want to recognize two events that may not have gotten much (if any) [...]
My thoughts on e-books have been expressed about a year ago. Even so, I'm not a complete ignoramus about the topic. I don't think that my (selective) ludditious leanings have anything to do with the embarrassing blind-spot in my pop culture knowledge and reasoning skills. I was watching an episode of Dollhouse from last season with my [...]
"A person is smart. People are dumb, panicky dangerous animals and you know it." - Kay, Men in Black
A press release from the University of East Anglia announces the publication of a paper on the findings of a research project involving a head-to-head match-up between "a machine-based lip-reading system with that of 19 human lip-readers." The upsohot of the research will lead to improved methods of teaching people to be lip-readers. [...]
I think robots, especially as imagined in SF, are going to be a major consumer of multi-core processors and parallel programming. Isaac Asimov laid down three laws that were built into the brains of his fictional robots. Two university professors have put forth an update of those laws that recognizes the human-robot interaction.
This is a philosophical question that I've had in mind for many years now. Is there a situation in which you want a computer to lie or give you incorrect answers? While the cited article doesn't answer the question totally, it does give a situation when a little bending of the truth from your computer would be welcome.
I have it on good authority that everyone excretes waste. In fact, I think someone even wrote a book about it. I was thinking about this when I was watching G.I. Joe: The Rise of Cobra last weekend. Specifically, I wanted to know, as the nano-mites "ate" their way through the Eiffel Tower and anything [...]
While looking at the stock price for Intel this morning, I wondered what sorts of things had been in the news recently that were related to Intel's stock. One item caught my about a joint research project from IBM and Caltech. The press release on the Caltech web sitehad some of the details about using self-assembled [...]
O for a Muse of fire, that would ascend
The brightest heaven of invention
I just completed giving a two-day training course to introduce university faculty to what courseware materials are available from the Intel Academic Community. Another goal of the training is to give faculty an introduction to parallel and threaded programming the latest technology available for writing such applications. I was helped out by Jay Desouza (middle) [...]
Aaron was out of the office for the show, so Clay Breshears and Michael Wrinn hosted the show. Download an MP3 of the show. Download link to a high quality MP4 video file of the show (about 290MB) News: Threading Challenge Update We have a winner for Challenge Prolem #5 (Knapsack Problem): "matteocilk.com" . Problem #6 winner [...]
Of course, for my friends in Europe, the verb in the question is "will be" since this specific time is still a month away.
Every seven years of employment Intel employees are eligible for 8 weeks of paid leave known as 'sabbatical.' I was busy during my two months off at the end of 2008.
Multi-core chips play the MacGuffin in an episode of In Plain Sight.
It's here!! The Intel Threading Challenge 2009 contest has been announced. Visit the official contest web page to get the details and sign up for participation. This year, we'll be running things a little quicker than we did for the previous contest. There will be two separate contests held this year. The first will start with [...]
For my monthly SF book discussion group, we just finished Frank Beddor's The Looking Glass Wars. This is a Young Adult fantasy novel that does a reimagining of the classics Alice's Adventures in Wonderland and Through the Looking-Glass, and What Alice Found There. In Beddor's work, seven-year old Princess Alyss Heart is forced to flee from [...]
I used to watch a BBC import late on Saturday nights called "Robot Wars." Little chainsaw-wielding, mace-spinning, hammer-bashing radio controlled vehicles would run around an arena and try to incapacitate each other. The one left running was the winner. I flashed back to this show as I was reading a CNET interview with P. W. Singer, author of Wired for War: The [...]
All the ballons have been popped, the champagne has gone flat and evaporated, and all the funny hats and confetti have been put in the recycling bins. While two weeks may be a record for "fashionably late," I still wanted to add my nickel's worth to recognizing the Intel Academic Community for reaching this milestone.
My first shot at showing how grown up I've become by running the show all by myself and I get sideswiped by the US Congress. Daylight Savings Time started on 08 MAR in America as federally mandated. However, the show's broadcast time is synchronized with GMT, so the live broadcast was held at 9am PDT [...]
I was able to attend the Universal Parallel Computing Research Center (UPCRC) Illinois Summit meeting on 12 FEB 2009. This was a progress report of various research projects that are going on with faculty and students at the University of Illinois at Urbana-Champaign. It's been about a year since the UPCRC program was initiated with grant [...]
On 11 FEB 2009, the Universal Parallel Computing Research Center (UPCRC) at the University of Illinois held a Languages Workshop. The goal of this day-long conference was to present and discuss "the most important issues today in parallel programming language design." The format of the conference was a moderated panel discussion for each of four topics. [...]
I was employed by them before I came to Intel, so I know Rice University has a lot of smart people. With the announcement of the new PCMOS chip technology, I'm beginning to have some second thoughts, though.
A NY Times story announces that Google and Amazon have plans to bring electronic books, that they already make available, to your mobile phone or other device. For Google this is a set of 1.5 million public domain texts; for Amazon it is part of their Kindle library. If you don't know already, I'm not all [...]
I've got an old barn. Tonya's got some costumes. Aaron can play the guitar. Diana can sing. Let's put on a show!! No? Okay, how about another Threaded Programming Contest?
To calm my offended sensibilities, I turn to RBaaS (Ranting Blog as a Service).
An internal company news article has alerted me to the existence of the Reactor gaming system from Hardcore Computer. It was billed as the first liquid-cooled personal supercomputer. That's right, the whole thing sits in a mineral oil bath with the coolant running through at a rate of 2.5 gallons per minute. This is no mere [...]
I saw an article on mobile worm threats to mobile phones on zdnet.com. Having recently seen Dale Taylor's posting about useful iPhone applications, I'm wondering when the mobile community will be plagued to the degree that the desktop/laptop crowd is. The ZDNet article reports that the phone worms are only stealing phone time credits. There [...]
This is something that I need. If you've seen me in person or a picture of me or one of my recent video presentations in the Intel Take Five collection, you know that I could stand to lose a few pounds. (As much as I might want to tell you there were 9 cameras used [...]
More devious than Al Capone. More despicable than Baby Face Nelson. Less dimwitted than Rocky and Mugsy. The list of the 25 Most Dangerous Programming Errors is out.
Sandia National Labs researchers have run simulations to determine that multi-core chips get improved performance up to four cores on the supercomputing kernels that were used. Beyond four, performance starts to get worse. The culprit? It's simpler than figuring out Miss Scarlet in the Conservatory with a Knife.
I was asked about what the difference was between a (parallel) programming pattern and an algorithm. If you've read Patterns for Parallel Programming and Introduction to Algorithms (aka CLRS), you know the answer. I'd be willing to bet that anyone even merely interested in object-oriented programming has at least heard of Design Patterns, and they probably [...]
Has teaching Computer Science become routine? If we haven't created any new basic algorithms or data structures, can undergraduate CS faculty just kick back and "phone it in"? Would I be writing this blog if the answer to either of the previous questions was "Yes"?
Back in June 2008 I was challenged by my manager to come up with three things everyone needs to know (or should be taught) about concurrent and parallel programming. I've gone one better and put together a short video lecture series on those three things.
I was too old for "The Electric Company" to teach me reading, but I still enjoyed watching the show for all the humor and inventive skits that were put on. I could see how that approach would be very motivating to get a lesson across. I'd had an idea for a set of video shorts that [...]
Not a rhetorical question! Not a dream! Not an imaginary story! Not Barbie™ run amuck! Not (I hope) an exercise in futility. Is parallel programming really "hard" or is someone trying to sell you something when they make such claims?
If I teach you how to raise the sails, adjust a sail direction for the wind, and keep your head down when the boom swings across the boat, you can sail a small craft. You're not ready to race for the America's Cup, but you are on your way. Couldn't we take a similar tack for parallel programming education?
Products like the Kindle from Amazon.com and Sony Reader are becoming more readily available, cheaper and more popular. I will never buy one and if you gave me one as a gift I would likely prop up a shorter table leg. If you want to know what I find so repellant about this technology, read this.
Someone's been reading and watching too much SF. I hope it's just me.
It not the answer to the Life, the Universe, and Everything. However, by flipping the problem of teaching parallel programming around, we can play to the strengths of professors and students and avoid the long drawn out debates on what is the best way to write concurrent applications.
Well, my father didn't state it that eloquently, but he couldn't understand why I prefered vanilla to chocolate milkshakes when I was growing up. Now, I don't think he would understand why I might tell someone to use a sub-optimal algorithm in their application to get better performance.
Don't put your copy of Gerber's The Software Optimization Cookbook on eBay just yet. After you parallelize your applications, the serial code that remains may come back to bite you on the you-know-where.
I guess paraphrasing some standard quotes just doesn't work everytime. Still, if serial programming is "dead", why is there still so much of it around and why is an eminent CS professor still concerned about it? And what impact will today's serial programming have on tomorrow's parallel code?
I was presented with a challenge the other day. The question was, "What three things do you think must be taught about parallelism in universities, such that, by not teaching these three things professors would be doing a disservice to their students?" A further restriction put on this question was that each topic could only take half an [...]
The recent Snow Leopard OS announcement from Apple and Steve Jobs, especially the vagueness surrounding the parallel programming technology, code-named "Grand Central", has put me in mind of Gwendolen's line from The Importance of Being Earnest: "This suspense is terrible. I hope it will last."
Even if we ignore the obvious health issues, I'm not sure how E. coli bacteria could even hold a spatula to flip pancakes. And then there would be the whole question of putting together the rest of the Grand Slam Breakfast. Fortunately these plucky germs only have to deal with mathematical stacks of pancakes.
Dans mon dernier poteau j'ai accentué des efforts de construire un traducteur automatique de langue. Maintenant, j'ai constaté qu'il y a un projet semblable étant placé dans l'union européenne (EU). TC-STAR le premier rôle est concentré sur pouvoir traduire automatiquement le discours dans une des 23 langues officielles d'EU au discours dans un des autres. (Translation by Babel Fish.)
The Enterprise was equipped with one, even though every alien race that Captain Kirk met spoke English. The Priest-Kings of Gor used one. The TARDIS gave the Doctor and anyone else riding along the ability to do it. Is a universal langauge translator possible? A Berkeley professor thinks so.
In a past post, I've questioned how we are expecting to "feed" the ever-growing number of cores with data. In the April 2008 issue of Communications of the ACM, Daniel Kunkle and Gene Copperman (yes, those Northeastern University researchers that have recently been computing Rubik's Cube solutions) may have come up with part of the solution. The [...]
If you were illiterate, how would you interact with a computer? Some folks at Microsoft have been addressing that issue with a project in Bangalore, India. A Computerworld article describes some of the ideas and problems that a team of researchers have experienced with trying to allow users that cannot read or write (including about 50% [...]
Why does the media keep treating us like Eymorgs? In today's technologically advanced world, I think we're smart enough to know what a CPU is for and what it does.
I feel that I should have titled this with "GDC" so it wouldn't get lost in all the other reports from there that have been posted this week.
The National Science Foundation (NSF) has asked for $20 million for funding research into alternatives to current silicon technology. Infoworld reports that promising technologies such as carbon nanotubes and quantum computing would be the recipients of the proposed "Science and Engineering Beyond Moore's Law" program in fiscal 2009. Michael Foster, division director of computing and communication [...]
I wrote about the use or non-use of processors with more than four cores about a year ago. Now that quad-core processors are becoming available and we have a name for processors with more than eight cores (many-core), two UIUC professors, Joseph Sloan and Rakesh Kumar, have written a treatise on the economics of many-core computing. That is, [...]
I was in Beaverton, OR, last week attending an internal Intel briefing on the next big processor architecture begin developed. Since it's got more than 8 cores, we refer to it as "manycore." Since I can't say anything about the processor, I wanted talk about one of the questions that came from the presentations: What [...]
The second-to-last bastion of human game playing may soon be falling into the hands of computers. Artificial Intelligence is one of the great uses for multi-core processors, but is writing programs to play video games just an excuse to get research money in order to support a video game habit?
This is one of the stories that I wanted to comment on a few months ago. However, no matter how squicky I felt, I was even too busy to express my utter disbelief, moral outrage, and perverse curiosity.
I've been absent from the blogs for a few months now. Where have I been? What have I been doing? Who actually cares?
I often find that one of my really great ideas has already been thought up by someone else. In those cases do I rarely find the implementation of that idea is just the reverse of what I had in mind.
A recent on-line article in ICT Results has claims that there is an economic limit to the whole miniaturization of processor technology. The proposed limit is at 16nm or 11nm for wire width. The article assures us that it should be feasible to go beyond this limit, but it might not be practical to do so. From the Intel [...]
What would you do with a supercomputer that can fit in your hand? Would you use it to compute trends in the stock market, predict tomorrow's weather, calculate airflow around your vehicle? Or would you just play Halo 8?
A recent article in Science (Vol. 317, No. 5844, P. 1518) by Schaeffer, Burch, and Bjornsson, announced the completion of an 18-year study of artificial intelligence and deep tree searching. These results prove that the game of Checkers, with perfect play by both sides, is a draw. However, according to the authors, the biggest contribution was the [...]
The Microsoft Task Parallel Library (TPL), part of the upcoming Parallel FX Library, gets a write-up in the October 2007 issue of MSDN Magazine. Reading through the article, I got the strange feeling that I've seen all this before.
I've been hearing about the Storm worm and the network of machines that are infected and, to some degree, under the control of this virus. The article "Storm Worm Botnet More Powerful Than Top Supercomputers" on InformationWeek estimates that millions of computers are part of the zombie grid. One quote says that the power of [...]
Just one more week to go in the Reading for Multi-core contest. Have you found an example of parallel processing or multi-core processors in the books you've been reading over the Summer?
Harvard scientists in the School of Engineering and Applied Sciences (SEAS) have announced the release of software, known as Tribler. This software allows the user to join a peer-to-peer video sharing network. What's different from the Tribler supported network than other video sharing networks or sites? A more centralized site, such as YouTube, has all the costs [...]
Purdue University has announced that it will be investigating a new program within their undergraduate computer science courses. With a three-year grant from the NSF, the project will study how and when to introduce parallel programming concepts and work as early as possible within a student's course of study. It is anticipated that the results of this [...]
I've heard of the Ghost in the Machine. I know about the Buddha-nature in a NULL pointer. But, could we find Him hiding in the bits and registers of your processor?
Back from India, and catching up on my email I found a blog post being circulated for comment. The post was by Graeme Burnett and can be found here. Burnett criticizes the current use of C++ within the software written and used by high finance companies, such as investment banks. His vision of the concurrent [...]
Still in India and, reading through my copy of the Hindustan Times (HT) this morning, I ran across an article that reports a South Korean effort is underway to create the "world's first Robot Ethics Charter" by year's end. South Korea has set a goal to have a robot in every home by 2013. Obviously, [...]
A few years ago, IBM ran a commercial with Avery Brooks (Captain Sisko, Star Trek: Deep Space Nine) complaining about the fact that there were no flying cars and we were all promised flying cars by that time. I'm sure many shared his consternation since we'd been reading about all this cool technology within the [...]
While staying at the Shangri-La Hotel in New Delhi, I was riding up to my room one evening and noticed that the elevators (Otis 300VFE) were being hailed as "The Intelligent Elevator". I thought nothing of this at the time, passing it off as mere marketing hype. One morning as I waited on my colleague to [...]
In the digest that sends me links to interesting online tidbits, the description of a recent ZDNet blog by Mary Jo Foley, provocatively titled What will next-generation multicore apps look like?, made me think it was just going to be another expert wingeing on about the same old things wrong with the current methods of software design [...]
Surprise, surprise, surprise! I actually saw an article on multi-core programming in my local newspaper. I guess it shouldn't be all that surprising since I work in Champaign, IL, home of NCSA and twin city to the birthplace of the HAL 9000 computer: Urbana, IL. We should be getting all sorts of cool technology news. The article discussed a proposed [...]
Well, I guess we've got an answer to one of my nagging questions: what can you do with an 80-core processor that doesn't involve massive amounts of linear algebra? A recent University of Chicago report on the uses of their resident 260-processor Linux-based server cluster, known as Teraport, notes several uses by academics and researchers [...]
Computerworld has published an article listing the 12 skills that IT departments are looking for in job candidates. Always curious about what new jobs are out there or what skills I might need to get my next job, I looked over the list that was put together by "recruiters, curriculum developers, computer science professors and other industry [...]
This tickled me when I read it the other day. A report in the online Wall street Journal blows the covers off a "human computation" scheme. It seems that a professor at Carnegie-Mellon University is getting humans to assign keywords to digital images through the guise of an online game. In the game, two players try to [...]
One last blog on the new prototype supercomputer announced by Prof. Uzi Vishkin and the A. James Clark School of Engineering at U Maryland and I promise I'll go on to something else. Looking for more details on the intended programming model and methods, I downloaded a slide presentationthat Dr. Vishkin gave at a panel during the [...]
* Oh no! another one of Clay's long rants. * I was interested in the details of a new parallel programming paradigm that was being (apparently) heralded as the greatest thing since transistors. After scouring the UMIACS website of Prof. Uzi Vishkin and the XMT (eXplicit Multi-Threading) project that recently announced their first hardware prototype, I [...]
Yet another pioneering effort in the attempt to bring desktop supercomputing to the masses; this time from the University of Maryland. Prof. Uzi Vishkin has announced a prototype supercomputer system with a 64 core chip and motherboard that was designed and built by researchers at the A. James Clark School of Engineering. This is pretty exciting news, [...]
If anything, I thought I might be called on the 'yielding practical results from pure research' claims in my Rubik's Cube entry. In preparation, I was trying to think of some example. Since nothing came immediately to mind, I pondered the possibilities of finding a final solution to the minimum number of moves needed to [...]
Two Northeastern University researchers found that it would take no more than 26 moves to solve any randomly scrambled Rubik's Cube. This beats the previous maximum of 27 moves, which was proven back in 1997. Gene Cooperman and Dan Kunkle will present their findings at the International Symposium on Symbolic and Algebraic Computation in Waterloo, [...]
I found a link to an EDN article on the future of multi-core processor design. What caught my eye was the following: While [multi-core processor design] may be a more efficient model from an energy consumption perspective, programming these devices will be so complex it will make programmers' brains hurt. Intel executives said they don't expect a [...]
The June 2007 issue of MSDN Magazine has an article entitled "Synchronization Primitives New in Windows Vista." The article discusses new threading features included in the Windows SDK for Windows Vista. Two of these features that piqued my curiosity were Condition Variables and One-time Initialization. (I'll let you read about the details and the uses [...]
In a recent CNET news article, Intel Fellow Shekhar Borkar is quoted as saying "Software has to double the amount of parallelism that it can support every two years". Huh? I'm afraid that I found this article through the critique posted on The Inquirer and must say that their evaluation is pretty spot on. To CNET's credit, [...]
Back when I was teaching parallel programming at university, I remember getting questions along the lines of "what if the process doesn't send the message" or "what if the thread doesn't read the value." This all stemmed from the anthropomorphism we use to illustrate the interaction of inanimate objects like threads or processes. I guess [...]
If you're a follower of ICANN (International Corporation for Assigned Names and Numbers), who are in charge of the domain names used across the Internets, you may already have heard about the proposal for creating a .xxx domain reserved for pornographic material. This proposal was defeated for a third time recently. I'm not here to discuss [...]
Over the past few months, there has been a bit of a hue and cry over the fact that the number of college students declaring Computer Science as their major has declined. While science degree PhDs awarded has been on the rise, the front end of the pipeline, at least for CS, is starting to [...]
In a recent online EE Times article about the lack of incoming CS students, down at the bottom of the first page, is an acknowledgement that Microsoft is developing a parallel programming language. From the descriptions in the article, it appears that support for transactional memorywill be needed. The language has adapted database methods for agglomerating several operations [...]
This just burns my biscuits! (No, I'm not sitting on a red hot stove like Yosemite Sam.) I can let some things go by without comment. Interchanging "concurrent" and "parallel" is a minor offense, for example. However, confusing the differences between "speedup" and "scalability" gets me smelling smoke. As a card-carrying Vocabunista (Noah Webster Chapter), I must set the [...]
The final type of code that is not parallelizable is known as loop carried dependence. This is when results of a previous iteration are used in the current iteration. Typically, this situation will be evidenced by references to the same array on both the left- and right-hand sides of assignments and backward references in some [...]
Two items in HPCWire (the article "Our Manycore Future" and the interview transcript "Confronting Parallelism") are touting a recent UC Berkeley EECS Department technical report: The Landscape of Parallel Computing Research: A View From Berkeley. The HCPWire article claims that this report is important "not because it claims to have all the answers, but because it [...]
With all the legacy code we have around (seems kinda funny to think about C++ apps as "legacy" code), we'll be converting serial applications to parallel versions in order for those applications to run effectively on multi-core platforms. We can add explicit threads, OpenMP pragmas, or threading libraries like Rogue Wave's Threads.h++ (is this still available?) [...]
Previously on "What's not Parallel?": Julie had caught Dillon and Becky in a compromising position; Tyler was preparing to make his debut in New York; Copernicus had finally decided to publish De Revolutionibus; and Carol, having drawn the eight of hearts, was just about to go "all in" when the ducks began to thrash around [...]
There seems to be a lot of buzz that has been generated by the article "The Problem with Threads," by UC Berkeley Professor Edward A. Lee, which appeared in the May 2006 issue of IEEE Computer. After reading the article, this Thread Monkey agrees with the conclusions, but he's not sure how soon we might be able [...]
John Hennessy and David Patterson are best known for their book Computer Architecture: A Quantitative Approach(4th Edition, Morgan Kaufmann, 2006). At least they are in the circles that I travel. The ACM publication Queue has published an interview with these CS pioneers. There is also an MP3 version of the first half of the interview that [...]
Ever since the official introduction of the Intel Teraflop chip with 80 cores (octaginta-core?), I've been wondering about how you keep all those cores fed with data. It's not such a trick to imagine what you can do with 80 cores or dream about new kinds of applications that could be brought to the desktop [...]
It's looking like it may be 80. Cores, that is. The New York Times has an article about the upcoming announcement of the Intel Teraflop Chip with 80 cores. The article notes that there are other (specialized) chips with more cores, but this chip would seem to have the most cores for a general purpose chip intended [...]
There has been a shift in the responsibility for delivering faster performing applications. In the past, chip makers have been delivering increases in the clock speed of processors. By doing nothing, ISVs got a performance increase since the CPU executed the same instructions in a shorter amount of time. Now, the number of cores is [...]
I was reading about contests between mathematicians in the 16th Century. Specifically, I was reading about a public problem-solving contest in 1535 where Antonio Maria Fiore challenged NiccolಠTartaglia to solve 30 problems (each devised the problems to be solved by the other contestant) within 40-50 days. Tartaglia solved all 30 problems in two hours [...]
Induction variables are incremented on each trip through a loop. Most likely these are index variables that do not have a one-to-one relation with the value of the loop index variable. For example, consider the following code segment: i1 = 4; i2 = 0; for (k = 1; k < N; k++) { B[i1++] = function1(k,q,r); i2 += k; A[i2] = [...]
I feel like I've been bombarded by transactional memory (TM) items all last week. First I read through an article published in the DEC/JAN 2006-2007 issue of ACM Queue titled "Unlocking Concurrency." Then, I see the HPCWire article that notes even Intel is looking into incorporating TM support in future platforms. After a little TM [...]
Recurrence relations within loops feed information forward from one iteration to the next. Prime examples of this are time-stepping loops and convergence loops. No matter how many tea leaves we read or tarot cards we consult or Magic Eight Ball apps we write, we can't parse out future time steps to separate threads for concurrent [...]
I've seen a web report that stated Intel will be sticking with quad-core processors for a while. If we bend Moore's Law just a tad to fit this situation, it should be another 2 years or so before we could see the advent of processors with 8 cores (octa-core? octo-core? elite 8-core?). There was a [...]
During really long and boring meetings, I've been known to write haiku to keep myself awake. It's not Wordsworth or Longfellow, but it does make it seem like I'm paying attention. I've pulled together some samples here that chart a journey. threads smirk and giggle I hear them bounce between cores; my code unravels threads weave in and out updating [...]
I admit I just don't get it. I'm not a C++ programmer, so the preface to any response you might want to make to my criticisms and questions posed here could be "Clay, you ignorant slut!" I can accept that; I'm speaking, to some extent, from a position of ignorance. When I first heard about [...]
While my wife and I were watching House, M.D. the other night, we were doing shots of Basil Hayden's every time one of the characters said "Hi, Bob." (I must confess, we got a lot more hammered playing this game when Bob Newhart was still on the air.*) We've both been big Hugh Laurie fans [...]
Welcome to the first installment of "What's Not Parallel!" (You were supposed to yell out the name as you were reading, like they do at the opening of "Wheel of Fortune". Please go back and try again. Thanks.) The first example of something that is not able to be made parallel are algorithms, functions, or procedures [...]
The first thing that popped into my head as I sat watching the denouement of War Games was "Why is it taking so long for WOPR to exhaust all of those tic-tac-toe combinations?" I mean, there are only 362,880 (9 factorial) different games that could be played, and that counts all the games that are [...]
At times it seems that Intel is playing the part of Chicken Little (from the fable, not the movie) by running around endlessly pushing the "Multithreading is necessary!" mantra. The other day, Henny Penny, Cocky Locky, and I were rushing around chatting up all the advantages of threading applications to Turkey Lurkey, Goosey Poosey, and [...]
Like every other programming, threading is more of an art than a science. You have to learn what all the tools are and how to use all of them properly. From my own experience with stained glass, you have to know the different types and styles of glass, how to cut and break the glass [...]
What's the rush? Where is it all headed? What's it all about? In 1849 they were headed to California; a few years later, it was Australia; in 1880, they were rushing North to Juneau and the Klondike. If you're reading this you either follow my writing (big shout out to my fans, both of you!) or [...]
I was seeing red all weekend a few weeks ago. Veins on my forehead were pulsing like the drum solo intro to Van Halen's "Hot for Teacher." I was having trouble getting to sleep. I've calmed down, now, but this still sticks in my craw. What had me in such a state? It was all due [...]
Sure, paradigm is one of those "business-speak" words that was popularized in the last decade, like the Macarena and Beanie Babies. It does have entomological roots that go way back, though. The roots of computing go way back, too. If you look up "computer" in dictionaries before the turn of the 20th century, it [...]
I've been busy getting things wound up so that I can take some vacation time. But I thought I'd share these quotes that a colleague recently reminded me about. The first is attributed to Seymour Cray. "If you were plowing a field, which would you rather use: two strong oxen or 1024 chickens?" Obviously, Cray [...]
I've used both POSIX threads (Pthreads) and Windows threads APIs, and I believe that Windows has the better programming model of the two. While each threading method can create threads, destroy threads, and coordinate interactions between threads, the reason I make this claim is the simplicity of use and elegance of design of the Windows [...]
It's never a good time to lose your job. Unless it turns out to be the push you need to go off and do something more worthwhile, more personally rewarding, or offers more money. At Intel, there have been reductions in the workforce over the last few months. In times like this, it's nice to [...]
I keep getting asked about what someone might do to get some background and information on multithreaded programming if they were starting from scratch. This is a list that I send out in response to this question about books I've read or have some opinioin about. (From now on when I get such a request, [...]
I hadn't planned to be continuously posting to this blog. I think my management would be happy with a monthly contribution. I can get behind that level of commitment. Still, when something strikes my fancy or gets my goat, this forum is just sitting here; I might as well make use of it. So, I [...]
Soon after PCs came out, business applications (word processing, spreadsheets, desktop publishing) showed the utility of these new machines and drove sales. Nothing since has made such a big splash. However, everyone still wants to know what the "killer app" will be for any new technology that seems to come down the pipe. It always [...]
[Note: For those of you, like me, that don't really care for long, self-aggrandizing biographies, just skip down to the last paragraph.] Hello. My name is Clay and I'm a Thread Monkey. It's been about two weeks since I've actually written any threaded code. I guess it all started back in my first stint in grad school. One [...]