Sunday, April 27, 2008

[Kylan's Blog] Building Blocks Auction

Last night Building Blocks (where Kristen works) had a dinner and silent auction. Kristen and I went, and it was pretty fun. We ended up bidding on and winning a Cougar-themed grill set and a party platter from Quizno's. Both of those will come in handy for our wedding reception in Pullman this summer.

Thursday, April 24, 2008

[Kylan's Blog] End-of-Semester Roundup

These are the tasks I have to complete before the end of the semester:

CptS 562 - Fault Tolerant Computing

  • Pseudo-Clusters of Faults
  • "Bit Packing"
  • Graceful Performance Degradation (GPD)
  • Non-Square Modules (adders and subtracters)
  • Rotation of Non-Square Modules on Placement Failures
  • Test Setup
  • Test Execution
  • Result Analysis
  • Writeup
  • References
  • Demo
  • Submission
EE 451 - Digital Communication Systems
  • Concepts
  • Implementation
  • Debugging
  • Analysis
  • Writeup
  • Study Homeworks
  • Study Notes
  • Study Past Exams
  • Study Text Book
  • Final Exam
TA EE 415 - Senior Design
  • Grade Lab Books
  • Call Scott for Grading Guidelines
  • Grade Final Reports

[HiPerCoPS] FFT

To test the reconfiguration mechanism of my simulator, I'll use a 32x32 cell device and implement an FFT circuit. These are the modules that comprise the FFT:

  • 4x4-cell multipliers (12)
  • 2x4-cell adders (11)
  • 2x4-cell subtractors (11)
  • 4x4-cell memories (8)
The experimental variable will be the number of faults, starting at zero and increasing by one until the system can not longer be mapped to the device. The dependent variable will be the percentage of time that the system is unable to be mapped to the device (the "failure rate").

The tests will be performed on a number of versions of my simulator:
  1. No fault avoidance. The placer simply maps modules without knowing/caring if a cell is faulty or not.
  2. Simple fault avoidance. Modules are mapped in the order that they were added to the device, avoiding faults.
  3. Size-aware fault avoidance. Modules are mapped starting with the largest and ending with the smallest, avoiding faults.
  4. GPD fault avoidance. Simple fault avoidance, but faulty cells can be used if the desired functionality is still present.
  5. GPD size-aware fault avoidance. Size-aware fault avoidance, but faulty cells can be used if the desired functionality is still present.
Of course, it will be important to automate this test. Some simple loops should do it though. I'll run a few tests by hand to decide how long each trial takes. Based on that information (and how much time I have at my disposal), I'll decide how many trials to run for a given number of faults. Somewhere between 10^3 and 10^4 trials for a given number of faults per simulation version should suffice, I would think.

Before I move on to the experiment, though, I need to investigate the phenomenon of "pseudo-clustering." Dr. Delgado told me that modern fault models tend to group faults in bunches rather than disperse them equally across a system. Apparently, this model is a closer approximation to the real world. One thing to consider, though, is whether pseudo-clustering is likely to occur in our architecture.

[HiPerCoPS] 562 Project

For most of this semester, I've been working on a simulator for our architecture. I developed an algorithm to determine the cell types in multiplier modules of arbitrary size and granularity. Then I worked on simulating the cell interconnects so the multipliers would actually function. There are still a few bugs in the overall system, but it works pretty well for the most part.

Now, as part of my Cpt S 562: Fault Tolerant Computing class, I'm working on a mechanism that maps these multipliers to reconfigurable device. The algorithms are pretty simple so far, but they're also a bit clunky. I'm looking into ways to make the process more elegant and efficient, but the real focus is on making it fault tolerant. My goal is to add fault recovery and avoidance capabilities to the device.

So far, I can define a device with certain dimensions and place modules on it. There's also a function that induces permanent faults in the cells. Fault placement is random, but the number of faults to be induced is taken as a parameter.  My module placer knows that it can't map modules over faulty cells, so it looks for fault-free areas that are big enough for the "footprint" of a module.

Sometimes, if there are too many faults or the modules are too large, placement will be impossible. My system is smart enough to realize this report an error whenever it happens. There are a number ways to maximize the likelihood of being able to place 100% of the modules for a given system. First of all, the module placer can attempt to map the modules in order of size, from biggest to smallest. This way, the modules that are least likely to have enough space (the largest modules) have a better chance of finding unused real estate on the device. The smaller modules, then, can "settle into the cracks" that remain. Second, it is possible that fault cells can still be used in some contexts. Since the atomic unit of our architecture is medium grain, perhaps a single burnt-out transistor won't cause the entire cell to fail. In the event that a subset of the functionality remains, maybe certain types of cells could still be mapped to this location. This is an example of graceful performance degradation, which could greatly increase the lifetime of the device.

One of the things I'd like to do is consider using a simulated annealing algorithm in the module placer. This approach is used in most FPGA placers. Although there are some fundamental differences between FPGAs and our architecture, I still think that simulated annealing could be a promising option for more efficient module placement.

Tuesday, April 22, 2008

[Kylan's Blog] Seussical the Musical

Last Saturday, Kristen and I saw Seussical the Musical at the Regional Theater of the Palouse (RTOP) in Pullman. One of Kristen's coworkers played the Cat in the Hat. It was a great show that was well directed, and the actors did a wonderful job.

I really liked the small, intimate atmosphere of the theater. It only seats about 85 people, and the front of the stage is literally inches from the first row of the audience. Since the theater is so small, though, a live orchestra is not possible. That's the only thing I would change, since a real band is always more fun.

RTOP will be presenting Fiddler on the Roof this September, and I'm definitely planning on getting tickets to that.

Thursday, April 17, 2008

[Kylan's Blog] Carl Spackler

Bill Murray played a character named Carl Spackler in the 1980 movie Caddy Shack. One of my favorite movie characters of all time.




[HiPerCoPS] Google "in binary" Searches

During my research, I've come to rely heavily on the Google Calculator. Since I usually have a web browser, this is the easiest way for me to do conversions involving decimal, binary, and hexadecimal numbers. Here are some examples:

 
"256 in binary" gives
 

256 = 0b100000000

 
"255 in hexadecimal" gives 
 

255 = 0xF


"0b00101011101010101010101101010100101 in decimal" gives
 

0b00101011101010101010101101010100101 = 5 860 842 149


Very useful. Thanks, Google!

[DupySite] The Wii Page

I've made a new addition to Dupyshon.com, and I'm calling it The Wii Page. This is where I'll record all of my Wii-related information. You can expect to see game reviews, etc. in the future, even though the page is pretty bare right now.

Wednesday, April 16, 2008

[Kylan's Blog] American Idol Predictions

  1. David Cook
  2. David Archuleta
  3. Carly Smithson
  4. Brooke White
  5. Syesha Mercado
  6. Jason Castro

Tuesday, April 15, 2008

[Kylan's Blog] Dr. William E. Johns

A couple of weeks ago, I went to a really interesting lecture by Dr. William E. Johns from the materials engineering department at WSU. He spoke about his experience in academics and in industry, and offered good anecdotal advice on how to be an engineer. To conclude his lecture, Dr. Johns presented his Rules of Life, which I've reproduced below:

1. If you get into a fight with a skunk, it doesn't matter whether you win or lose, you lose. Pick your battles very carefully, CYA with paper. (Never write anything negative in a memo!)

2. Never test the depth of the water with both feet. Do your homework. Always leave yourself an out. An out can be an alternative project, a transfer guaranteed in hand--in writing, a large savings account, a winning lotto ticket, etc., anything to fall back on when the water turns out to be really deep, and ugly and swirling.

3. When you find yourself in a hole, quit digging. Know when to hold them, and know when to fold. It's OK and indeed wise, to back out of a bad project or endless argument in a timely manner. 

4. When the boss asks for "vigorous, open, candid discussion" on a particular topic, the boss is lying. That statement is a classic red flag. If your supervisor is worthy of the position, statements such as the one above need not be said, it should be the working policy of the group. If a weak or domineering boss says that, that person is only looking for agreement. SHUT UP. DON'T ARGUE. Trust me on this one. 

5. Good enough is good enough. As engineers, you will never get it perfect as "perfection" is not an achievable goal. There are many correct solutions to every engineering problem. Within the constraints of time, budget, other resources, you can fill a need and complete a task. At that point the job is done. Stop working on it. 

6. When you are in up to your ears, keep your mouth shut. More damage has been done by trying to argue and defend a position than probably any other factor. It doesn't matter that you were right or wrong, when the discussion morphs into an argument, logic is irrelevant. At that point it is not what you say, but your saying anything that might very well be held against you. (NMAOTKYMS) [Never miss an opportunity to keep your mouth shut]

7. Good--Fast--Cheap. Pick two. If it is good and fast, it won't be cheap. If it is cheap and good, it won't be fast. If it is fast and cheap, it won't be good. This has been an engineering maxim since year 1. The original space program was good and fast. It was not cheap. In the past bunch of years, the official publicly stated policy for NASA was Good-Fast-Cheap. We've lost two shuttles, 2 Mars probes, and had a major problem with deep space and outer planet probes and had to do a major repair on Hubble. Enough said. 

8. Responsibility without authority is fatal. Never accept responsibility for a project unless you have the parallel authority to influence the outcome. Alternately, when given a project make sure of exactly what authority you have and then make sure that your responsibility matches the authority. Make sure that everyone up and down the line knows who is responsible for what. CYA with paper.  

9. You cannot inspect quality into a product. Design and materials selection is the basis for a quality. Inspection simply insures that you've met design specs. A perfectly manufactured and assembled Yugo is still a Yugo, not a Porsche. This goes for all aspects of life. 

10. Career--Family--Major Hobbies: Pick two. Try as you may, you will not have time for all three. Heavy decisions. To attempt all three is to assure failure. 

11. Be patient. It may take thirty years, but sooner or later they'll listen to you, and in the meantime, keep kicking ass. -- Florynce R. Kennedy


Monday, April 14, 2008

[Kylan's Blog] Job Accepted

Today I formally accepted the position at SEL and signed all of the papers. My official start date is May 1.

[Kylan's Blog] President's Award

I found out today that I was selected as a winner of the 2008 WSU President's Award. There will be a dinner and reception on April 27 at 5:30PM in the Rec Center.

[Kylan's Blog] Birthday Weekend

This weekend I went home with Kristen and Jaron. We all took Friday off and left Pullman on Thursday night. This was a good weekend to go to Tacoma because my birthday was on Friday and ERC wanted to throw us a wedding shower.

The ride home was uneventful. The pass was clear, and the road crews had finished their avalanche repairs by the time we got there.

On Friday morning Kristen convinced me to open my presents in the morning. It was a good idea, because she surprised me with a Wii. I've been wanting one for quite some time, but didn't expect to get it as a gift. Needless to say, the rest of the morning and afternoon were spent swinging our arms about while staring at the television. Wii Sports came with the console, and Wii Play was bundled with the extra controller that was part of my present. Jaron and Christine pitched in to buy me Guitar Hero III for the Wii, and it should arrive in Pullman within a day or two. My parents gave me a box full of camping supplies, which will come in very handy this summer. The box included a table cloth covered with Cougar heads, a guidebook to Washington state parks, a cast iron skillet, a lamp that turns a Nalgene into a lantern, and more. I can't wait to try these things out with the rest of my gear.

For Saturday, Kristen and I went up to Kent to see Victoria and Karl. We had breakfast together, and it was enjoyable to catch up with them. The weather was amazing (in the high 70's), so we decided to go mini golfing after the meal. Then it was off to the mall, since Kristen had a gift card she needed to use. She was able to get some great clothes at pretty good deals. After eating dinner with my family, Kristen and I drove to Puyallup to hang out with Jake. With him, we went to The Rock (since he hadn't eaten dinner yet) and then back to his apartment. I brought along the Wii and we played a couple of the games together. Jake also pulled out a copy of the Lewis and Clark video we made in high school. It was really fun to reminisce about that project, especially since I haven't thought about it in a while.

On Sunday we all went to church. Afterward was the shower, which was attended by 60 or 70 people. It included a taco salad lunch, a couple of games, and words of wisdom from married couples. It was really nice of the church to put this on for us. Kristen and I appreciated it a lot. After that, Kristen, Jaron, and I drove back to Pullman, arriving there around 8PM.

[Jaron's Blog] BuzzDash

Recently I installed the StumbleUpon addition to Firefox.  Just now it led me to a site called "BuzzDash."  Now, for those who are not political science majors or statistics majors, this may not be exciting, but I think it is great.  This site contains a plethora of surveys for almost any subject.  This is not just some add-on for Facebook or another social networking site; it is an entire website fully devoted to surveys and statistics put together by users.  This could be a useful source of information for general popular trends and similar veins of information...  Check out BuzzDash.

Thursday, April 10, 2008

[Kylan's Blog] Noisy Cars are Better?

Apparently, the US House of Representatives may soon consider a law setting minimum noise emission requirements for new automobiles. In my opinion, this would be a horrible idea. Sure, being able to hear a car might prevent a small number of pedestrian-automobile accidents from happening. But there has to be a better way. First of all, it's the driver's responsibility to watch for pedestrians. If they run into someone on the street, it's their fault. Pedestrians have the right-of-way. Second, our world has too much noise pollution as it is. Silencing modern cars would be a good thing, not a danger. Installing speakers in new cars just sounds ridiculous. This type of law would simply perpetuate a flaw (noisy engines) that can be solved by modern engineering.

[DupySite] Become a Contributor

This is a golden opportunity! Now you can apply to become a Dupyshon.com contributor. Contributors control the content and message of the website, and they act as ambassadors between the site and the rest of the world. Contributors also have a huge amount of say concerning the evolution (or, maybe, feature creep) of the website. The process of becoming a contributor is largely undefined at this time, but this is by design. We wanted to give applicants as much freedom as possible to prove their merits. All you have to do is email applications@dupyshon.com with an application packet.

Q: What is an application packet?
A:

Anything (and everything) you want it to be. Your application packet can take any number of forms. It can be a traditional email, a link to a YouTube video, an attached PDF, or anything else. Creativity is the key here, and it can get you major bonus points.

Q: What kinds of things will the evaluators be looking for?
A:
The overall qualification we need to see is that you would be a good fit in the Dupyshon.com community. This means that we need to get a good impression of your personality and disposition, and you have to prove that you will be able to add to the spirit of Dupyshon.com. Please address your concept of what Dupyshon.com is, and where you see it headed in the future. Also, if you became a contributor, what would you bring to the table? Examples of past work could help a lot. How would you help Dupyshon.com realize its greatest potential?

This is one question that you must answer in order to get the job: What does "dupyshon" mean to you?

Q: When is the deadline for application submission?
A:
For now, there is no deadline. We will welcome applications for the foreseeable future.

Q: How many positions are available?
A:
This is undetermined, although we will probably accept up to 2 or 3 new contributors.

Q: What does the position pay?
A:
If you're in it for the money, this job's not for you. Annual salary: $0. Hey, we do this for the love of everything Dupy. That should be enough for you, too.

Wednesday, April 9, 2008

[Kylan's Blog] New Job

Today I accepted an Associate Software Engineer position at SEL. I'll be working for Doug Arlt in research and development, writing code for new products.

Tuesday, April 8, 2008

[DupySite] New Feature Ideas

Here are two ideas for new features for Dupyshon.com that I've been thinking about:

  • Status Updates
Lately I've become intrigued by the concept of microblogging. Often, I feel like I have something worthy of posting on Dupyshon.com, but it's not enough to merit a full post in the DupyBlog. I simply don't have that much to say. Examples might include "My test went well this morning," or "Matlab is not a real programming language." I can also use it to emulate the Facebook status feature. There are a number of microblogging applications out there, but I think I like Twitter the best. If I can do a little hacking on their API, I might be able to integrate it into my website. Then I can replace my GTalk status badge on the Contributors page, and maybe even move it to the homepage.
  • Bookmarks
Right now DupyLinks is powered by Blogger. It does its job, but it's a little clunky. In the near future, I might be changing it over to del.icio.us. There are a few reasons that del.icio.us does a better job than what I have now. First of all, it allows for easy posting. All I need is a bookmarklet on my Firefox toolbar. Second, it lets me include comments with links. I can do this with my Blogger setup, but that takes more work. Finally, links are taggable.

Dupyshon.com - always evolving and/or improving and/or giving in to feature creep!

Friday, April 4, 2008

[DupySite] Bookmarks

I've added del.icio.us bookmarks to the Contributors page. I chose this service over all the others for two reasons. First, it allows me to include comments on the bookmarks. Second, it provided me with an easy way to publish my bookmarks to Dupyshon.com. Of course, if I'm always open to a better alternative.

Thursday, April 3, 2008

[Kylan's Blog] DIVA Presentation

In a few minutes, I'll be giving a paper presentation in my fault tolerant computing class. It's on "DIVA: a reliable substrate for deep submicron microarchitecture design." (original paper) (my slides)

By the way, I've started saving my presentations as PDF files lately. I find them to be much more portable than PowerPoint files. Of course, this probably isn't an option if you like fancy swooping text and bells and whistles exploding everywhere.

[Kylan's Blog] NSF GRFP Results

During the fall semester this year, I applied for a National Science Foundation Graduate Research Fellowship Program (NSF GRFP) award. I just got the results back yesterday. I wasn't one of the award recipients, but all of the participants were given a copy of the judges' comments (1) (2). This feedback is helpful, although it's interesting that these two responses actually contradict each other on a number of points. For example, one judge said that my "societal involvement explanation is weak" while the other commends me for "a specific plan for involving undergraduates in [my] research problem."

Tuesday, April 1, 2008

[Kylan's Blog] Switchfoot Bootlegs

I just discovered an excellent site called SwitchfootBootlegs.com. With permission from the band itself, this website hosts bootleg recordings of live performances by Switchfoot. The home page is nothing special, but I've subscribed to their podcast, which as A LOT of content. Right now I'm listening to a few tunes from the Switchfoot concert I attended in February of 2007. It's worth noting that this site can be very slow at times, and their server was down all of yesterday.