Update on Kernel Dev

I wanted to do a followup to the earlier post in February about Kernel Development and cross compilation for an ARM based processor. Since I’ve been busy the past few months with schoolwork, I’ve strayed away from this for the time being. However, I’ve created a simple SoC (System on Chip) for a Xilinx Virtex-4 FPGA that I’m using to do my thesis work on, and it dawned on me that I really don’t have an immediate need to build up the hardware to do the aforementioned task (compilation). In fact, since this system is up and running and easily configurable, I can utilize one of the 5 Microblaze processors within the SoC that has an MMU configured to address memory translations from the OS (Virtual to Physical), I might as well compile (for educational purposes of course) a vanilla kernel from scratch and document the steps here on TheKlog for your own purposes. How does that sound? (echo) ha! ;)

kor

Posted in Linux Kernel Development | Leave a comment

BlazeNoC (New name)

Back at it, now that school is a couple weeks out. Passed my class so that means I can fully concentrate my efforts in the coming summer months on getting this thesis work under control. In fact, I’ve already started my concentration on getting the first two chapters taken care of by doing ample research in the fields of NoC and QoS (Quality of Service) metrics that are of concern with Network on Chip development.

I’m using VHDL to develop the router element of the NoC. All NoC’s have a typical characteristic about them and for BlazeNoC, we can’t say at this juncture that the device will differ in any way from current topology. In fact, we’re implementing a 3×3 2-D and Torus based Homogenous network (first) with 32-bit RISC based IP components, namely the MicroBlaze Processor, provided exclusively in the Xilinx EDK.

Thus far, I have been responsible for developing the Arbiter (Routing and Arbitration Unit) of the Router. For those of you that are novices in this field, the arbiter is really the heart and soul of the entire router. Without it, you can’t intelligently move packets from an input buffer through the switching component. The arbiter is really the eye in the sky and knows what to do and when to do it, and for BlazeNoC, we must be certain that it’s operation is valid in uniform and non-uniform applications. A uniform application is pretty determinate and the traffic patterns are consistent. Therefore a fair scheme can be used, such as Round Robin, to allocate a certain time frame for each channel to use when it needs to be used.

BlazeNoC will utilize a Flit Reservation model, where a control packet is pushed throughout the network, hopping from one node to the next, reserving resources that will be required at a later time t. Using a RRP (Round Robin w/ Priority) scheme we can further enhance the transmission of GT(Guaranteed Throughput) and BE(Best Effort) based packets, especially for on-demand packet delivery by using a dedicated “ambulance” mode where BE packets are preempted in the event a GT packet of high importance must be delivered immediately from the source node to the destination.

As the week progresses, stay tuned to TheKlog for more details. The Routing and Reservation Tables that are connected exclusively to the Arbiter are in development and should be ready for testing sometime this week.

kor

Posted in Thesis Work - BlazeRouter | Leave a comment

Lets do this…

I feel like cross compiling the Linux Kernel for an ARM processor. I’ve had my eye on the ATMEL SAM92X series of processors for sometime.  I purchased six Atmel AT91SAM9261 processors back in 2006 and I’ve had it stashed away since then. So heres the deal, before I get into any hardware development (which I intend to do in the near future), I’m going to spend some time playing around with the Linux kernel. I want to document the entire process of cross compiling the kernel  and using the Open Embedded toolchain to help bring about a new distribution. In the process, I’m going to learn a lot more than I currently know and the objective is to relay this information to you, the reader of this blog, who wants to klog their mind with useful information that can be used on your own personal endeavors. Hey, if I gain some traction, maybe I’ll ask for your help. :)

In the coming weeks, I’ll outline a plan for what I intend to do with this kernel and the underlying hardware that I intend to build. Sure, it’s over four years in the making, but my hectic life never leaves enough room to do the stuff I really enjoy (hint: this). There might be a commercial use, but for now, I’m keeping this open with education in mind.

As always, stay tuned…

kor

Links:

This part may have reached it’s end of life, and if that is the case, I’ll opt for some of the newer, more powerful Atmel SAM processors.

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=AT91SAM9261-CJ-ND

I’ll probably upgrade to the following:

http://www.atmel.com/dyn/products/devices.asp?category_id=163&family_id=605&subfamily_id=1964

~20 bucks on Digikey. I’ll opt for the PQFP packaging. Then again, I did a 217BGA footprint on PADS for the 9261 processor. BGA layout is tricky, so maybe we’ll play it safe on the first rev of the design.

http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2556109&k=AT91SAM9XE

They also have the dev kit (520 bucks is a steal! I love you Atmel):

http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2621773&k=AT91SAM9XE

The Intel PXA270 Development kit in 2005 sold for close to 7,000 dollars. Yes, I even considered buying it for my failed endeavor at the time. Thankfully, I didn’t. :)

32-Bit ARM Processor

Posted in Linux Kernel Development | Leave a comment

Follow us…

Follow the development of BlazeRouter on GitHub: https://github.com/koru/BlazeRouter

BlazeRouter is a simplistic design aimed at helping us develop the foundation for the NoC (Network on Chip) framework. While we’re currently developing the router, it’s intent is to become an Open Source project that allows students ranging from the University level and professionals alike, to fork the design and expound on it, by providing new feature sets and contributing the work back to the master branch for others to use.

Most thesis work have gone on and done elaborate designs for their own routers that makes it difficult to understand because the students/professors are interested in the results and have no immediate concern to provide the documentation that makes it easy for the next batch of students to realize. Most of these designs are so proprietary that it makes it impossible to break apart and scale accordingly. Bad coding conventions, lack of code management, lack of comments within the code, ultimately turn the project into a heap of mess that only one person can truly understand and explain; the creator. BlazeRouter was introduced by us (Krikor Hovasapian and Kareem Materiyah- Electrical Engineering graduate students @ UNLV) to build the barebones framework and provide just enough HDL (hardware description language) so that it’s compact, clean and scalable for future generations of graduate students interested in the work of NoC and MPSoC design.

Through the use of Software Configuration Management (SCM) from GitHub.com and proper documentation within the code and supplementary .PDF/.DOC’s within the /docs directory of the BlazeRouter repo, we’ve accomplished our first goal of organization. This will improve the experience that the next student will have when undertaking the work, and will not be at the mercy of source code alone to try to decipher the way the original designer implemented his/her work.

Stay tuned to TheKlog to find out more about our work along with updates as to our progress and future direction.

-kor

Posted in Thesis Work - BlazeRouter | Leave a comment

Internet killed the Bookstore…

I just read an article from Reuters [1] that confirmed my earlier fear months ago, while sitting at a Borders bookstore in Town Square: “public places such as this one, will become a distant memory in 25 years.”

I was hard at work on my term paper at the time, sitting at the coffee shop and momentarily pausing to reflect on my next thought, when suddenly my attention was diverted towards the clerk working behind a counter, encouraging patrons who passed by to consider buying an eReader. As an engineer who designs/works with embedded devices (an eReader being a classic example of one) I couldn’t help but listen in on her sales pitch. Convincing as she was and as fully enamored as the customer was by the device she gently held in her hands, I felt something eerily wrong with the situation unfolding in front of me. Here is an employee who is being told by her management to work behind a counter and sell a device that will ultimately lead to the demise of her position. It’s a classic example of how technology evolves the industry in a progressive manner that benefits the consumer and the producer, but ultimately kills the middle-person (the employee).

We’ve seen examples of this: Supermarkets now have self-checkout lines to help expedite the purchase of goods, by removing the cashier who mans a single station. By having one cashier monitor five stations, the bottom-line starts to improve, while the pockets of the newly unemployed bottoms-out. The expectations, that some might argue, is for these newly unemployed individuals to develop a new craft or find ways to improve their life rather than expect a lateral shift into another position within the company. Yet, the assumption is that these people, who are not fully trained or educated for higher level white-collar positions, are somehow welcoming to the barrage of bad news that comes with layoffs , and that they should appreciate the opportunity to possibly find themselves in something “better.” Well, frankly I think that’s nonsense, because a majority of us find a level of content and stick with it. Not all of us are looking to ascend to new heights, and some might find solace in being at one level for the remainder of their working years. It’s called consistency, and as of late, we’ve noticed only one consistent figure from our corporate entities: upward trend in job displacement.

From 2001-2008, 2.4 million jobs were either lost or displaced to China [2] by corporations and the hardest hit sectors were in technology. What’s worse about this figure, is that not only does it lower the ceiling, hence crowding the unemployed white-collar level and increasing competition, but those who lose jobs in positions that don’t require a four-year college degree, that are supposedly “motivated”  to move into better paying positions, are finding it hard to wiggle in with those that are currently standing in line. Even worse, competition with low-wage workers from less-developed countries, has also driven wages for other workers in manufacturing and reduced the wages and bargaining power of similar workers throughout the economy [2]. That means, if you’re not willing to improve your status quo and you insist on making the lateral shift without a four-year degree, which is about 70% or a 100 million people, then you’ve witnessed  a $1400 downgrade in your pay in just one year alone (2006 according to Bivens 2008 see [2]), but I digress.

The news about Borders, and potentially 150 of their 500 stores closing, bothers me. It’s indicative of poor management practices but it’s also part of a grand scheme to eliminate the overhead that corporations must endure by keeping store fronts open. It’s no longer ideal to have the front end (the store) but rather having the backend(the warehouse). Distribution centers are the heart of online stores, and customers are always a click away from getting the items they most cherish, but remember, sometimes the things we cherish are the ones we often overlook. The front end provides a place for people to meet, socialize, drink coffee, read magazines, stare intently at a guy picking his nose while reading the latest copy of Harry Potter. It’s seeing people work, it’s breathing in the environment and experiencing all the senses we as humans sometimes take for granted.

If technology is to be blamed for the displacement of jobs, then by no means is that technology worth having. Early indications show that Internet usage is preferable as a shopping medium than purchasing something in-store. It’s not a fair assessment to say that eReaders are the ultimate cause of Borders stores closing down and driving the company on the brink of bankruptcy, because the technology is still in it’s infancy. However, all signs point to a sharp incline in eReader use within the next year [3]. That trend is expected to be on an upward climb for North America till at least 2014 as it is a key market [3]. We’ve already seen the effects that e-commerce has had on computer stores such as CompUSA, Circuit City, and mom and pop shops. The point I’m trying to make here, is that the demise of Borders and Barnes and Noble is inevitable and it wouldn’t surprise me if the closure or further minimization of stores is timed. My guess is within 10 years.

-kor

References:

[1] http://news.yahoo.com/s/nm/20110201/ts_nm/us_borders

[2] http://www.epi.org/publications/entry/bp260/

[3] http://www.informationweek.com/news/storage/portable/showArticle.jhtml?articleID=228800014

Posted in Ethics and other musings... | Leave a comment

Linux Kernel Development – Intro

It’s my hope to get a better understanding of the Linux Kernel through self study. In the process, I want to create a central repository (theklog.com) where developers alike can find the information they need in order to grasp the concepts that are not easily found on the Internet. I’m embarking on a long journey to gather material and create not only articles through my postings, but also video submissions that encompass a “whiteboard” discussion. I don’t want to dumb down the process by barely scratching the surface. Rather, the idea is to give the world real, insightful material that can not only help them with their own endeavors, but also gives them the confidence that the material presented in front of them is legitimate through proper research and documentation of sources. I don’t want the transparency of a Wikipedia, because I believe that most information has been misconstrued by such channels. If the information is properly presented and controlled but not manipulated from it’s original form, the public has a better chance of surviving information overload. Therefore, I present the klog (also known as: Krikor Log). The Klog is a blog but it’s more than that; it’s a location where information is pure, unbiased and to the point. It goes beyond the rants that most other bloggers like to fill on their sites, because most blogs are diary based. Instead, I want the Klog to be a place where I can try to educate myself on topics that mean a lot to my current profession as a Firmware Engineer and return that education to my readers so that they can propagate what they learn off the material I present. I’m not a professional educator, but as a current graduate student in the Electrical Engineering program at UNLV, I do know a thing or two about research. Sometimes my thesis work can become a bit mundane (refer to MPSoC Research & Development section for more details) and therefore I want to liven it up by learning stuff that’s new and fulfilling. I’ve also been involved in the design of Embedded Systems for well over six years now and have collected a wealth of knowledge through my work in the areas of Real Time Operating Systems, and programming languages such as C and C++.

Anyways, I’m Krikor and I welcome you to my site. If you have comments, suggestions, corrections, addendums to topics, by all means utilize the facilities provided by this site. Albeit limited resources, the comments fields and emails directed to me are the best way to keep in touch.

Thanks again!

kor

Posted in Linux Kernel Development | Tagged , , , | 2 Comments