Due to marriage, my last name has changed from Taylor to Boykin.
Due to marriage, my last name has changed from Taylor to Boykin.
I wrote some code recently to interface with VMware’s Virtual Infrastructure (VI). This java code utilizes VMware’s VI SDK and provides some basic functions that can be used to control the CPU resources allocated to virtual machines running on VMware VI. At the least, it might be useful as an example of how to connect to the VI API through the SDK. Ultimately, it could be easily extended to create an autonomic CPU resource allocator which would monitor and update the CPU resources dedicated to each virtual machine running on VI in real-time.
Here’s the java code: CPUController.java
Here’s a build script for compiling this java class along with the rest of the SDK: buildSamples.sh
Over the weekend I represented Women in ECE, an organization I founded last year, at two new student orientation activities. The first was a new student reception on campus for anyone interested in engineering and the second was an engineering organization fair for women hosted by the Society of Women Engineers. The fact that so few women approached our table at both events was not in the least bit shocking, but it did get me thinking about the dearth of women in the field. With only 15% of the degrees in ECE being awarded to women in the US in 2004¹, it is clear that females are severely underrepresented in this area. The two million-dollar-questions these days seem to be 1) why is this the case and 2) what can we do about it?
Numerous studies have been conducted in order to try and unearth the answers to these questions. Their findings suggest that the low number of female engineers can be attributed to a high dropout rate after freshman year, the lack of female role models, the absence of peer support, and little effort by faculty to encourage young women to stick with the field ¹. In reaction to these findings, initiatives to counteract these deterrents have been started across the board, from engineering departments at universities to academic funding agencies. And while I applaud and support these efforts to reach out to women, I sometimes wonder whether we’re beginning to adopt poor practices, including curriculum changes and placing too much pressure on women in an attempt to recruit and retain them in the field.
Consider the first concern – a high dropout rate of women after freshman year. According to one of the largest surveys conducted on the subject ², most women leave engineering during their freshman or sophomore years at a university. The reasons they most commonly cite for doing so include: 1) A loss of interest in the field (44.9%), 2) Liking another major/field better (34.7%) 3) Bad grades (20.7%) and 4) It takes too much time/energy (15.5%). In trying to avoid these sentiments and their resulting dropout rates, there is a tendency to advocate changes to the engineering curriculum in order to make it more appealing to new students. These changes, however, may only serve to misrepresent the field itself. At its core, engineering is an application of mathematical and physical principles – if students, whose initial course loads are dominated by physics and mathematics courses, aren’t interested in and can’t succeed in these subjects then what hope do they have of being passionate about a career dominated by these fundamentals? In short, I advocate against drastic changes in curriculum because I don’t think they address the key issues involved here and attempting to retain women by doing so may only serve to degrade the quality of an engineering program as a whole.
As for the lack of female role models in the field, there can be no doubt that this is truly the case. The percentage of women faculty with a Ph.D. teaching computer science at 4-year colleges/universities is a paltry 9.4% ¹. Clearly, it is currently a male-dominated field and being that we can’t change these demographics instantaneously, it will continue to be so for several decades even if we could miraculously convince an additional 10% of female freshman to join (and stay!) in engineering. Unfortunately, this situation presents a much-neglected reality to those trying to encourage young women to join the field – these women will have to be comfortable working and interacting in a male-dominated environment. We can all lament this situation as much as we like (break here for lamenting), but it will, nevertheless, remain the reality.
This is certainly not to say that women shouldn’t demand equal treatment and rights in this profession. On the contrary, both women and men in the field should be striving to address women’s issues such as providing adequate maternity leave and the ability to stop the tenure-clock to have children. I just think that women pursuing careers in engineering will have to be comfortable having a large number of male peers.
Unfortunately, the problem of there being only a few female role models in the field is a catch-22, we can’t get more female role models into the field until we have more female role models in the field. I think our best hope of breaking out of this cycle is by equipping our young women with the self-confidence to be comfortable in the current engineering environment (more on this later) and, more importantly, by not putting pressure on those women who are not comfortable working in this environment to stay in the field.
[In my next post(s), I'll continue with my thoughts on faculty encouragement, peer support, and my views on the best ways to increase women's participation in computer science and engineering].
I was running some SPICE simulations recently and needed to add Gaussian white noise to specific nodes in my circuit in order to measure noise tolerance. Between the two simulators I run, OrCAD’s PSPICE and Cadence, I hoped that there would be an easy way to do this – perhaps a noise-generating source of some kind or a rand function that would return random values according to a specified distribution. Unfortunately, this is not the case – a sad fact that has caused others working with SPICE to lament:
Unfortunately there is no easy way [in SPICE] to randomly tolerance devices such that they are not a perfect match, or to add a ‘noise’ voltage to insure the circuit will start. (Wish list: add a rnd(n) function to B2SPICE to enable random part values to be specified, or a small noise generator to be created. The proposed function would return a pseudo-random number between zero and unity, where ‘n’ could represent a uniform distribution for the value ’0′, a Gaussian distribution for a ’1′ argument, and so on.) [http://www.beigebag.com/case_convergence.htm]
After relentlessly pursuing the matter, however, I have found that there is in fact a way around this apparent limitation in SPICE. The solution involves the use of a piecewise linear source, a common SPICE component which outputs voltage or current according to tuples of the form (time,voltage/current) which are supplied by the simulation programmer. These tuples control the source by indicating the voltage or current signal that it should be supplying at any given point in time. A programmer can supply a seemingly infinite number of these tuples in order to control the output of the source over a certain time period.
An effectively random source can be created by generating voltage or current values according to a desired distribution and using these values in the tuples of a piecewise linear source. In my case, I used a short MATLAB program to generate values that were normally distributed with a mean and variance of my choosing and then used these values as data points for a piecewise linear voltage source.
Here’s an example of how the whole process might work:
Let’s say, for instance, that in order to test the noise tolerance of a circuit, you need input voltages that behave like Gaussian white noise with a specific mean and variance.