Friday, December 18, 2009

smart phones on the battlefield

Sorry to all my regular readers, but this is slightly off topic from usual, but it is to interesting to ignore. So I guess you all (by that I mean me and possibly one other person so far) will just have to bear with me.

RITS (or maybe it will be) iRaTS vs. RATS

It looks like Google and Apple are now competing on (or for?) the battlefield. I don't know about you you, but it makes me feel a little unnerved that our military may be using something like an iPhone (flaky consumer oriented devices) or a DROID (yay!!) on the battlefield. How secure can one of these really be?

  1.  I looked for Raytheon on the list and it doesn't look like they are contributing anything back to the community - suppose that is a good thing in this case.
  2. What happens when one of these RIT/RATs is captured by some enemy force? I can imagine some extremist group clicking around on a 3" touch screen guiding a Drone UAV with multi-touch fingers sliding around. Hopefully some ROM code has been tweaked to add enhanced log-in.
  3. I have already heard that a group in Pakistan/Afghanistan was able to intercept Drone video streams using OTS $26 s/w. Security gaps already exist -what else is there being exposed in the open by using an iPhone.
Conclusion. I really would feel more secure about this if DOD sticks with RATS instead of iRTS (or whatever it is called). Linux is designed to be deployed, OS X is not. In this case, the Moto DROID commercial really says it all!

Monday, October 26, 2009

Who is in charge here anyways OR ResourceManager part 2

The deeper I have been looking into power management topics, the more I get confused. In any society, there are limited resources and all persons in this society must either compete for these resources or some form of government is required. This is easy to understand. We all wrote the compare/contrast essay in 6th grade Social Studies where we did such basic comparisons between Socialism, Capitalism, pure Democracy and Dictatorship.

Now, given that each society is unique and respectable in its ways (and that this is a politically correct blog posting), how do we say which form of government is best? Obviously the choice will be unique to each society.

Let us pretend that our society is a population of Linux Android living on OMAP Island. The population has many applications in Java and some in native C/C++, kernel drivers, etc. Some in the population have been given by God (or Google? or Linus?) certain unalienable rights and roles to be managers, servants, governors, or general citizens each with specific permissions.

I am particularly interested in the class of governors that are available in Linux Android. Performance, Userspace, Conservative, and OnDemand are all up for election this year. Who should we support?

The Democratic candidate, OnDemand runs on a needs based platform. If citizens need more MHz, OnDemand will do his best to give it to them. However requests do seem to be getting stalled in the bottle neck of beurocracy. 

The independent, Userspace, believes the citizens should be in control, and he faces stiff opposition this year. He has run for election before, but w/o much success. Userspace seems to need to refine his policies or nominate a solid running mate from among the many native processes.

Performance does not have much chance of election as he simply can not maintain a balanced budget. There will be no savings under his administration because he will constantly push society to run at full tilt - even until the power plant shuts down and none of the working class can operate.

Ah, then there is my favorite... the Republican Conservative. Mr. Conservative has been around a long time. His age old wisdome it tried and true. He will only allocate resources to those who demonstrate a real need. The increases in spending will always be incremental so only just enough MHz are spent to get the job done.

For my vote, Mr. Conservative will be governor this year... poor OnDemand has some good ideas, but will always spend the lot at the first sign of trouble.

Monday, September 14, 2009

donuts vs eclairs

What is a donut? A donut is a cake of some variety which is typically covered with some frosting or sprinkled topping. The curious toroidal shape of this fancied pastry is what intrigues me most.

But what about an eclair - what is that? I have never thought to try to define eclair. No more than I have paused to ponder the design of a donut anyways. An eclair is like a donut, but in many ways I think it is just better.

For example, it is more akin to a cylinder and a torus. There are big benefits here: I can definitely eat faster from one end to another in a straight line instead of eating in a circle. And you can avoid that messy first bite where you have to break the loop.

Also, an eclair has cream filling instead of a gaping hole. That delicious cream filling really set's an eclair apart from a simple donut in my eyes.

It is interesting how aptly named the Android releases have been. Cupcake was a good choice for a first time baker. You can learn alot about how to mix ingredients and add toppings. A donut is a bit of  a twist with some added complications - primarily caused by that often misunderstood shape. And then there is eclair: it is all stretched out and filled in. No more gaps. Quite simply it is a donut evolved.

Especially in the eyes of an audio engineer. I am going to have fun playing with all the creamy filling in eclair.

Wednesday, September 2, 2009

Motorola developers get ready!

I saw this and thought I would just pass it on. Looks like Motorola is launching a developer program and is even offering developers an integrated development studio. Check it out -

Saturday, August 29, 2009

Improving an OMX ResourceManager

New to power management topics though I am, I have taken on a task to redesign my existing OMXResourceManager (RM) for OMAP3430. In the interest of making a better design I thought I should start with explaining how it works currently. I hope to follow up with some analysis of the flaws and ideas for improving the design. In this series I will be working from this source on the zoom2.

So then - how it works:

First, an OMX component would request a predetermined DSP MHz requirement during its transition from OMX_StateIdle to OMX_StateExecuting.

Secondly, the RM would query the OMXPolicyManager (PM) to see if this is a valid use case. The PM will do a basic table look-up to see if the requesting component could co-exist with already running OMX components. Based on the priority and the currently executing combination of OMX components, the PM would either allow based on priority, preempt a lower priority component or update to a new combination to allow the request, OR deny the request if no combination in the look-up table exists to support the request.

Then, the RM receives the policy verdict. If the PM denied the request, the denial will short circuit any resource decisions. If the policy request is granted, the OMXResourceManager will begin to check the available DSP resources. The bridge QoS facilitates several queries for available memory and available MHz. If enough of both are available then the OMX component is successfully transitioned into OMX_StateExecuting.

In this last step where resources are checked, the RM reads the current vdd1 operating point. It will then check the current total MHz requested by OMX and scale the operating point to the lowest point that supports the current demand in hopes of having some power savings.

Now, this may be slightly simplified, but all the ideas are here.

I have some thoughts on how to improve this design. I am making an active effort to implement these changes quickly. After some analysis I can share what improvement if any I was able to make.

At the same time, I invite any ideas you may have of your own...

Friday, August 14, 2009

Announcing OMAP Audio for Android

I suppose the serious blogger would follow protocol and use the first in his series to introduce himself, his background, and what he has to offer. I suppose a reader may expect to hear news of what topics might be discussed, what knowledge may be divulged, or what the future holds.

I am not going to do any of that-

True to blogging fashion, I expect you will get to know me and the topics on my mind by reading regularly (or at least as often as a lazy blogger may post).

I will tell you this much: I am both a musician and an engineer. I like to take a musical artsy approach to my engineering or an engineering approach to my music. Sometimes the results are interesting. And this is why I like working with OMAP platforms, Linux, and other geekery.