<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- Generated on Mon, 06 Jul 2009 15:04:39 -0700 --><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/open-source/all</link>
    <description />
    <language>en-us</language>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ISNOpenSource" type="application/rss+xml" /><feedburner:emailServiceId>ISNOpenSource</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Highly Reliable Linux HPC Clusters: Self-Awareness Approach</title>
      <description>&lt;div class="sectionHeading"&gt;Introduction&lt;br /&gt;&lt;/div&gt;
&lt;div class="sectionBody"&gt;&lt;strong&gt;by Chokchai Leangsuksun, Tong Liu, Yudan Liu, Stephen L. Scott, Richard Libby, and Ibrahim Haddad&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Current solutions for fault-tolerance in HPC systems focus on dealing with the result of a failure. However, most are unable to handle runtime system configuration changes caused by transient failures and require a complete restart of the entire machine. The recently released HA-OSCAR software stack is one such effort making inroads here. This paper discusses detailed solutions for the high-availability and serviceability enhancement of clusters by HAOSCAR via multi-head-node failover and a service level fault tolerance mechanism.&lt;br /&gt;&lt;br /&gt;Our solution employs self-configuration and introduces Adaptive Self Healing (ASH) techniques. HA-OSCAR availability improvement analysis was also conducted with various sensitivity factors. Finally, the paper also entails the details of the system layering strategy, dependability modeling, and analysis of an actual experimental system by a Petri net-based model, Stochastic Reword Net (SRN).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;!--page break--&gt;
&lt;hr /&gt;
&lt;div class="sectionHeading"&gt;&lt;a href="http://www.intel.com/cd/ids/developer/asmo-na/eng/183306.htm" target="_blank"&gt;View entire article (PDF)&lt;/a&gt;&lt;/div&gt;
&lt;!--page break--&gt;
&lt;hr /&gt;&lt;img src="http://feeds.feedburner.com/~r/ISNOpenSource/~4/GucklGKTzCA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/ISNOpenSource/~3/GucklGKTzCA/highly-reliable-linux-hpc-clusters-self-awareness-approach</link>
      <pubDate>Fri, 03 Oct 2008 12:24:30 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/highly-reliable-linux-hpc-clusters-self-awareness-approach#comments</comments>
      <guid isPermaLink="false">http://software.intel.com/en-us/articles/highly-reliable-linux-hpc-clusters-self-awareness-approach</guid>
      <category>Open Source</category>
      <category>Tools</category>
    <feedburner:origLink>http://software.intel.com/en-us/articles/highly-reliable-linux-hpc-clusters-self-awareness-approach</feedburner:origLink></item>
    <item>
      <title>Intel® Threading Building Blocks - Product Features</title>
      <description>&lt;!--CTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dt--&gt;
&lt;table border="0" cellspacing="15" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="bodycopy"&gt;
&lt;p&gt;Intel® Threading Building Blocks is a runtime library providing a parallel programming model for C++ code using threads. It comprises a template-based collection of components designed to simplify the process of multi-core programming. Use Intel Threading Building Blocks to write scalable applications that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;focus on independent or semi-dependent tasks instead of thread management&lt;/li&gt;
&lt;li&gt;emphasize generic data parallel programming&lt;/li&gt;
&lt;li&gt;take advantage of concurrent collections and parallel algorithms&lt;/li&gt;
&lt;/ul&gt;
The major features of Intel® Threading Building Blocks include: 
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Task scheduler&lt;/strong&gt; that interoperates with native threads and OpenMP.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generic parallel algorithms&lt;/strong&gt;: parallel for, reduce, scan (prefix), do, pipeline, sort.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generic, concurrent, thread-safe containers&lt;/strong&gt;: hash table, vector, queue.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Type-Safe Atomic Operations&lt;/strong&gt;: read, write, fetch-and-store, fetch-and-add, compare-and-swap&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exception-Safe Locks&lt;/strong&gt;: spin lock, reader-writer mutex, queuing mutex, OS-wrappers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-Thread Timers&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Supports &lt;strong&gt;Windows*, Linux*, and Mac OS*&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;Supports 32-bit applications on &lt;strong&gt;IA-32&lt;/strong&gt; and &lt;strong&gt;Intel® 64 &lt;/strong&gt;technology platforms, and 64-bit applications on &lt;strong&gt;Itanium® 2&lt;/strong&gt; and &lt;strong&gt;Intel® 64&lt;/strong&gt; platforms&lt;/li&gt;
&lt;li&gt;Supports &lt;strong&gt;Intel, Microsoft* and GNU&lt;/strong&gt; Compilers&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="http://software.intel.com/file/6324" alt="" width="388" height="5" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height="10"&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/ISNOpenSource/~4/cqe2Ud31Nmw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/ISNOpenSource/~3/cqe2Ud31Nmw/intel-threading-building-blocks-product-features</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-features#comments</comments>
      <guid isPermaLink="false">http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-features</guid>
      <category>Parallel Programming and Multi-Core</category>
      <category>Open Source</category>
      <category>Tools</category>
      <category>Intel Software Network communities</category>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    <feedburner:origLink>http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-features</feedburner:origLink></item>
    <item>
      <title>WSC Linux* Reference Implementation</title>
      <description>&lt;div class="sectionHeading"&gt;Your Information: Company Name and Division or Group.&lt;/div&gt;
&lt;div class="sectionBody"&gt;Information on your company is optional and not required for the download; however we appreciate your help providing this information for our records.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;form action="http://softwareprojects.intel.com/scripts/mailform.php" enctype="application/x-www-form-urlencoded" method="post"&gt;&lt;input name="subject" type="hidden" value="WSC Linux* Reference Implementation" /&gt;&lt;input name="name" type="hidden" value="Intel(R) Software Network" /&gt;&lt;input name="formaddr" type="hidden" value="simple_config@intel.com" /&gt;&lt;input name="reqfields" type="hidden" /&gt;&lt;input name="resulturl" type="hidden" value="http://software.intel.com/en-us/articles/wsc-linux-reference-implementation" /&gt; 
&lt;table border="0" cellspacing="0" cellpadding="4" width="370"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="sectionBodyText" width="120"&gt;Company Name:&lt;/td&gt;
&lt;td width="234"&gt;&lt;input name="Company Name" type="text" size="30" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!--  
&lt;tr&gt;
&lt;td class="sectionBodyText" width="120"&gt;E-mail Address:*&lt;/td&gt;
&lt;td width="234"&gt;&lt;input type="text" name="Email" size="30" /&gt;&lt;/td&gt;
&lt;/tr&gt;
--&gt;
&lt;tr&gt;
&lt;td class="sectionBodyText" width="200"&gt;Division Name:&lt;/td&gt;
&lt;td width="324"&gt;&lt;input name="Division Name" type="text" size="30" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;input name="submit" type="submit" value="Submit" /&gt;&lt;input name="reset" type="reset" value="Reset" /&gt;&lt;/p&gt;
&lt;/form&gt;
&lt;div class="sectionBody"&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://software.intel.com/en-us/articles/code-samples-license-2/?target=http://software.intel.com/file/1344" target="_blank"&gt;WSC Linux* Reference Implementation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Additional Resources&lt;/strong&gt; &lt;br /&gt;&lt;a href="http://software.intel.com/en-us/articles/wi-fi-simple-config-wsc-linux-reference-implementation"&gt;Wi-Fi* Simple Config (WSC) Linux* Reference Implementation article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;!--page break--&gt;
&lt;hr /&gt;&lt;img src="http://feeds.feedburner.com/~r/ISNOpenSource/~4/o_pFgTozJNE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/ISNOpenSource/~3/o_pFgTozJNE/wsc-linux-reference-implementation</link>
      <pubDate>Wed, 13 Aug 2008 11:38:33 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/wsc-linux-reference-implementation#comments</comments>
      <guid isPermaLink="false">http://software.intel.com/en-us/articles/wsc-linux-reference-implementation</guid>
      <category>Mobility</category>
      <category>Open Source</category>
    <feedburner:origLink>http://software.intel.com/en-us/articles/wsc-linux-reference-implementation</feedburner:origLink></item>
    <item>
      <title>FAQ: Mobile Platform SDK - An Open Source Project for Windows* and Linux*</title>
      <description>&lt;p class="Section1"&gt;&lt;a href="http://ossmpsdk.intel.com/"&gt;&lt;img height="78" alt="" width="544" border="0" src="http://software.intel.com/file/2176" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="Section1"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="Section1"&gt;&lt;strong&gt;1. What&amp;rsquo;s new in Mobile SDK 1.3?&lt;/strong&gt;&lt;/p&gt;
&lt;p class="Section1"&gt;The Mobile Platform SDK 1.3, open source project is covered by BSD license for both Windows and Linux. In addition, supports Linux Ubuntu version 7.10 for notebooks, and support for Moblin UME on UMPC and Atom-based devices. &lt;/p&gt;
&lt;p class="Section1"&gt;&lt;strong&gt;2. What is the Mobile Platform Software Development Kit (Mobile Platform SDK) version 1.3? &lt;/strong&gt;&lt;/p&gt;
&lt;p class="Section1"&gt;Intel Corporation is providing the Mobile Platform SDK 1.3 as a free, open source project to give the developer community an innovative solution for cross platform and cross OS development of mobile-aware applications. The powerful feature set of the Mobile Platform SDK 1.3 enables developers to create efficient, reliable software that adapts to fluid mobile computing environments.&lt;/p&gt;
&lt;p class="Section1"&gt;The Mobile Platform SDK 1.3 for Windows enables mobile features for applications running on notebook and tablet personal computers, smart phones, personal digital assistant (PDA), and Ultra Mobile Devices platforms. The Mobile Platform SDK 1.3 for Linux enables mobile features for applications running on notebooks, and supports Moblin UME on UMPC and Atom-based devices.&lt;/p&gt;
&lt;p class="Section1"&gt;&lt;strong&gt;3. Why should I care?&lt;/strong&gt;&lt;/p&gt;
&lt;p class="Section1"&gt;The Mobile Platform SDK enables you to develop software with features for mobile computing anywhere, at anytime. With the Mobile Platform SDK 1.3 open source version, you can optimize your offering by creating dynamic context-aware applications that can: &lt;/p&gt;
&lt;div&gt;
&lt;ul&gt;
    &lt;li&gt;Manage connectivity transparently &lt;/li&gt;
    &lt;li&gt;Effectively balance power and performance &lt;/li&gt;
    &lt;li&gt;Work across multiple platforms &lt;/li&gt;
    &lt;li&gt;Use available memory and disk space for local data storage and synchronization &lt;/li&gt;
    &lt;li&gt;Adapt to different display types &lt;/li&gt;
    &lt;li&gt;Manage network bandwidth &lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;All of these advantages can help expand your customer base and lower engineering costs. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;For more detailed information please visit: &lt;a href="http://ossmpsdk.intel.com/"&gt;Intel Mobile Platform SDK&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. What are the benefits?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;High-level API that unifies and abstracts the following platform Contexts:
    &lt;ul&gt;
        &lt;li&gt;Connectivity &lt;/li&gt;
        &lt;li&gt;Bandwidth &lt;/li&gt;
        &lt;li&gt;Power &lt;/li&gt;
        &lt;li&gt;Storage &lt;/li&gt;
        &lt;li&gt;Display &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Added Efficiencies
    &lt;ul&gt;
        &lt;li&gt;Supports events on all properties of device contexts, and includes pre-defined events (Thresholds) &lt;/li&gt;
        &lt;li&gt;Common event programming model and single internal polling/notification mechanism &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Multi-Language/Runtime Support (C++/.NET/Java*) &lt;/li&gt;
    &lt;li&gt;Multi-Platform/Multi-OS support &amp;ndash; single API across many operating systems:
    &lt;ul&gt;
        &lt;li&gt;Microsoft Windows Vista*, Business and Ultimate Editions &lt;/li&gt;
        &lt;li&gt;Microsoft Windows XP* Professional with Service Pack 2 &lt;/li&gt;
        &lt;li&gt;Microsoft Windows XP* Tablet PC Edition 2005 &lt;/li&gt;
        &lt;li&gt;Windows Mobile 2003 for Pocket PC and Smart Phone &lt;/li&gt;
        &lt;li&gt;Windows Mobile&amp;reg; 5.0 for Pocket PC and 
Smart Phone &lt;/li&gt;
        &lt;li&gt;Linux Ubuntu 7.10 &lt;/li&gt;
        &lt;li&gt;Moblin UME on UMPC and Atom-based devices &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5. Why did Intel Corporation open source the Mobile Platform SDK 1.3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Based on customer and industry feedback, Intel has moved the Mobile Platform SDK to an open source distribution model to make the software easily available for the Windows and Linux open source developer community. Availability is a key factor in driving the next generation of mobility software, accelerating application development, and inducing business growth.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. What is the open source licensing model?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Mobile Platform SDK 1.3 open source license is BSD. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7. What are the differences between the Intel Mobile Platform SDK 1.1 version and the Mobile Platform SDK 1.3 open source version?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Mobile Platform SDK 1.3 is a free, open source project which includes the following new key features:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;RFID interface &lt;/li&gt;
    &lt;li&gt;Development support for Visual Studio* 2005 and .NET* Framework 2.0 &lt;/li&gt;
    &lt;li&gt;The Mobile Platform Provider Development Kit (Mobile Platform PDK) enables developers to create plug-in modules that support 3rd party devices. &lt;/li&gt;
    &lt;li&gt;Intel&amp;reg; Virtualization Technology (Intel&amp;reg; VT) detection &lt;/li&gt;
    &lt;li&gt;Intel&amp;reg; Centrino&amp;reg; mobile technology detection &lt;/li&gt;
    &lt;li&gt;Enhanced C++ API uses StringObject rather than wchar_t and uses VectorObject rather than vector &lt;/li&gt;
    &lt;li&gt;The Mobile Platform SDK version 1.3 adds support for the following operating systems:
    &lt;ul&gt;
        &lt;li&gt;Microsoft Windows Vista*, Business and Ultimate Editions &lt;/li&gt;
        &lt;li&gt;Microsoft Windows XP* Tablet PC Edition 2005 &lt;/li&gt;
        &lt;li&gt;Windows Mobile&amp;reg; 5.0 for Pocket PC and Smart Phone &lt;/li&gt;
        &lt;li&gt;Linux Ubuntu 7.10 for notebooks &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Windows Mobile&amp;reg; 2003 was tested and supported in MPSDK v1.1. For this Open Source release the software was tested on Windows Mobile&amp;reg; 5.0 not tested on the 2003 version. If you intend to target 2003, give it a try and let us know if you have questions.&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;Due to licensing restrictions, support for the following devices have been removed from the Mobile Platform SDK 1.3:
    &lt;ul&gt;
        &lt;li&gt;Removal of IVT* Bluetooth device implementation &lt;/li&gt;
        &lt;li&gt;Removal of Sierra* CDMA/GPRS device implementation &lt;/li&gt;
        &lt;li&gt;Removal of Symbol* Network device implementation &lt;/li&gt;
        &lt;li&gt;Removal of Windows* 2000 support &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;8. Are applications developed with Intel&amp;reg; Mobile Platform SDK 1.1 for Windows compatible with the Mobile Platform SDK 1.3? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Any mobile application developed with the Intel&amp;reg; Mobile Platform SDK 1.1 is compatible with the Mobile Platform SDK 1.3 open source version for Windows. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;9. How do I get the Mobile Platform SDK 1.3 open source version for Windows or Linux or Moblin? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Mobile Platform SDK 1.3 open source package is available on the following sites: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Intel ISN &lt;a href="http://ossmpsdk.intel.com/"&gt;Intel Mobile Platform SDK&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;SourceForge.org &lt;a href="http://sourceforge.net/projects/mpsdk"&gt;http://sourceforge.net/projects/mpsdk&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;10. How do I contribute code to the open source version?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
Information on open source contributions, licensing, and distribution can be found at:&amp;nbsp; &lt;a href="http://ossmpsdk.intel.com/"&gt;Intel Mobile Platform SDK&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;11. What is the development environment for the Mobile Platform SDK 1.3 open source version?&lt;/strong&gt; &lt;/p&gt;
&lt;ul dir="ltr"&gt;
    &lt;li&gt;
    &lt;div&gt;You need the .NET Framework* 1.1 or 2.0 to write and run .NET applications&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Microsoft Virtual Studio* .NET* 2003/2005&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Microsoft Embedded Virtual C++ 4.0 (SP4) for Windows Mobile* development&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Sun Microsystems JDK* 1.4.2 or higher needed when writing and running Java* applications&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;Linux gcc/g++ 4.1.2 or above&lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;12. What platform devices are supported?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Device support includes:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Processor &lt;/li&gt;
    &lt;li&gt;Battery &lt;/li&gt;
    &lt;li&gt;Network, including:
    &lt;ul&gt;
        &lt;li&gt;Wired (802.3) &lt;/li&gt;
        &lt;li&gt;Radio (802.11) &lt;/li&gt;
        &lt;li&gt;Bluetooth &lt;/li&gt;
        &lt;li&gt;GPRS/CDMA &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Platform &lt;/li&gt;
    &lt;li&gt;Display Adapter &lt;/li&gt;
    &lt;li&gt;Physical Disk &lt;/li&gt;
    &lt;li&gt;Logical Disk &lt;/li&gt;
    &lt;li&gt;Memory &lt;/li&gt;
    &lt;li&gt;RFID Reader. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Context support includes:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Connectivity &lt;/li&gt;
    &lt;li&gt;Bandwidth &lt;/li&gt;
    &lt;li&gt;Power &lt;/li&gt;
    &lt;li&gt;Display &lt;/li&gt;
    &lt;li&gt;Storage &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;13. What type of customer support is available?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Mobile Platform SDK 1.3 open source project provides email, forum, and bug report support. Go to: &lt;a href="http://ossmpsdk.intel.com/"&gt;Intel Mobile Platform SDK&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;14. How can I add devices? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Mobile Platform SDK 1.3 open source version includes the Mobile Platform Provider Development Kit (Mobile Platform PDK) for Windows* XP/Vista. The Mobile Platform PDK enables the ISV Provider, such as the Device vendor, to integrate their devices into the Mobile Platform SDK runtime dynamically. Examples of these devices are an RFID reader and a network adapter. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;15. What are the future plans to support additional Linux distributions? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Currently the Mobile Platform SDK 1.3 for Linux supports Ubuntu 7.10 for notebooks, and now supports Moblin UME on UMPC and Atom-based devices. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;16. Why was the license changed from Apache to BSD?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The BSD license covers both Windows and Linux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17. Where can I get more technical details about Mobile Platform SDK 1.3 open source?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For more detailed information, visit &lt;a href="http://ossmpsdk.intel.com/"&gt;Intel Mobile Platform SDK&lt;/a&gt; &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ISNOpenSource/~4/pP3bf0s9p10" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/ISNOpenSource/~3/pP3bf0s9p10/faq-mobile-platform-sdk-an-open-source-project-for-windows-and-linux</link>
      <pubDate>Tue, 24 Jun 2008 09:34:46 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/faq-mobile-platform-sdk-an-open-source-project-for-windows-and-linux#comments</comments>
      <guid isPermaLink="false">http://software.intel.com/en-us/articles/faq-mobile-platform-sdk-an-open-source-project-for-windows-and-linux</guid>
      <category>Mobility</category>
      <category>Open Source</category>
      <category>Intel® Atom™ Software Developer Community</category>
    <feedburner:origLink>http://software.intel.com/en-us/articles/faq-mobile-platform-sdk-an-open-source-project-for-windows-and-linux</feedburner:origLink></item>
    <item>
      <title>Windows* client CIFS behavior can slow Linux* NAS performance</title>
      <description>&lt;!--l version="1.0" encoding="utf-8" standalone="no--&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;meta content="Aspose.Words for .NET 4.2.5.0" name="generator" /&gt;
&lt;div class="Section1"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img height="366" alt="" width="558" src="http://software.intel.com/file/5459" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Figure 1:&lt;/strong&gt; Filesystem choice significantly influences performance&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="sectionHeading"&gt;Summary&lt;/div&gt;
&lt;p&gt;We have compared the performance of Windows* and Linux*-based CIFS* (Samba*) servers for digital media applications and found that the ext3*-based Linux server&amp;rsquo;s throughput was up to 53% lower than the Windows server&amp;rsquo;s--although both used identical hardware (Figure 1). An XFS*-based Linux server had roughly the same performance as the Windows server. Our investigation shows that the difference lies in the filesystem allocation and handling of sparse files. In particular, the Windows client makes an assumption that the CIFS fileserver uses NTFS*, a filesystem that assumes files will be data-full (not sparse). This contradicts a fundamental assumption of ext3--that files are sparse--and leads to fragmentation of files and degraded performance on ext3. Further, we&amp;rsquo;ve seen this behavior manifested for a broad range of media applications including iTunes*. &lt;/p&gt;
&lt;div class="sectionHeading"&gt;Observed Behavior&lt;/div&gt;
&lt;p&gt;The test system consists of two PCs directly connected over gigabit ethernet. A client PC running Windows XP SP2* connects to a server PC running either Windows XP SP2 or Openfiler* 2.2 (Linux 2.6, based on rPath Linux). The client maps a dedicated data disk on the server as a network drive using CIFS and generates repeatable media playback and record of high definition video streams. Our internally developed workload generator allows us to run the media streams unbounded: we record or replay the media as fast as the client is able and are not limited to the original media framerate. This allows us to stress the server with an aggressive workload. High definition video streams offer well-understood behavior: they are largely sequential, transfer large blocks of data, and are read-only (playback) or write-only (record).&lt;/p&gt;
&lt;p&gt;Playback of these HD streams differs significantly depending on the server OS and filesystem. Playing back single or multiple simultaneous HD videos results in up to 53% lower data throughput when the server uses Openfiler/ext3 rather than Windows/NTFS. We have captured network traces, filesystem traces, and SATA traces to deeply characterize this performance difference. As would be expected, the network traces show little difference in the client-generated requests: the client is identical in both cases and it will generate the same requests regardless of the server. Server side traces of the filesystem and SATA interface reveal a significant difference in the operation of the two filesystems. In particular, Openfiler/ext3 exhibits a broad range of transfer sizes (Figure 2) and a significantly longer tail of service times than Windows/NTFS (Figure 3). These two observed trends point towards some kind of fragmentation on the Openfiler/ext3 disk (varied transfer sizes and long disk seeks) while the Windows/NTFS disk is largely contiguous and unfragmented (few transfer sizes and short, cached disk operations).&lt;/p&gt;
&lt;p&gt;&lt;img height="297" alt="" width="576" src="http://software.intel.com/file/5460" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Figure 2:&lt;/strong&gt; Openfiler uses a broad range of SATA sizes&lt;/p&gt;
&lt;p&gt;&lt;img height="297" alt="" width="575" src="http://software.intel.com/file/5461" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Figure 3:&lt;/strong&gt; WinXP frequently hits the SATA drive cache&lt;/p&gt;
&lt;p&gt;Observing the recording of the HD streams sheds some light on why the Openfiler/ext3 disk becomes fragmented and the Windows/NTFS disk does not. On the Windows client network interface, we can observe a number of small (one-byte) writes to high offsets within the file at a long stride (128K bytes). These writes are generated by the client filesystem: they do not show up in application traces but do show up in network traces. These small writes to increasingly large offsets turn out to be bogus data which are used to provide hints to the server to pre-allocate data blocks on the disk. The data at these locations are eventually overwritten by large data writes of the actual HD recording. The behavior is illustrated conceptually in Figure 4 where the initial red blocks represent the pre-allocate writes and the later blue blocks represent the actual data written to the media file. If the server OS uses a filesystem like NTFS, these pre-allocate writes are used to allocate contiguous blocks on the disk. NTFS assumes that all files will be filled with data, so the small write to a high offset forces the filesystem to allocate a set of contiguous blocks up to that offset. When the valid data is written to NTFS, the blocks are already allocated, simplifying and speeding the data writes. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img height="304" alt="" width="575" src="http://software.intel.com/file/5462" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Figure 4:&lt;/strong&gt; Pre-allocate writes are later overwritten with real data&lt;/p&gt;
&lt;p&gt;Most Linux filesystems make the opposite assumption that files are sparsely populated with data. This results in poor behavior in response to the pre-allocate writes. The filesystem must assume that the data within the pre-allocate writes is valid: there is nothing in these writes to differentiate them from valid data. The filesystem (ext3) will therefore allocate blocks as they are written, in this case one byte at a time at 128KB stride. In practice, we have observed pre-allocate writes to offsets 15 MB into the file before a single valid data write occurs. When the application on the client begins writing valid data, the filesystem is already likely to be fragmented because of these pre-allocate writes. This fragmentation turns what should be a best-case workload for most modern hard disks (large, sequential reads) into a mess of low performance disk seeks. Anecdotally, we have observed that one 3.5GB video file used in our testing was fragmented into 49,986 extents. A simple copy to a new location defragmented this file to 28 extents (26 extents is ideal).&lt;/p&gt;
&lt;p&gt;This behavior is not limited to our test case: a simple test using iTunes to rip a CD to a music library on a NAS device will show the same one-byte pre-allocate writes. We expect to see this behavior any time a Windows client is appending to a file of unknown length. Additionally, the Windows client behavior does not change in response to the Samba-advertised &amp;quot;fstype&amp;quot; parameter--the client issues pre-allocate writes whether the server announces itself as &amp;quot;NTFS&amp;quot; or &amp;quot;Samba.&amp;quot; We have tried to force the linux server to allocate data-full files with the Samba &amp;ldqu
o;strict allocate&amp;rdquo; flag but observed no change in ext3 performance. (UPDATE 9/12/07: newer versions of Samba 3.0.20 or greater zero-fill files when &amp;ldquo;strict allocate&amp;rdquo; is set. This has the desired effect of producing NTFS-like behavior that works well with windows clients and improves media serving performance to be on par with XFS.)&lt;/p&gt;
&lt;div class="sectionHeading"&gt;Proposed Solutions&lt;/div&gt;
&lt;p&gt;We have seen that media files recorded from a Windows client and streamed/appended to an ext3-based Linux file server show lower delivered throughput (when played back unbounded) as compared to media recorded to an NTFS-based Windows file server. We attribute this performance delta to fragmentation within ext3 as a result of pre-allocate writes issued by the Windows client. When using XFS as a base Linux filesystem, we see similar performance to Windows (likely from XFS&amp;rsquo; increased allocation size and delayed allocation). Additionally, if we defragment the media files on ext3 by copying them to a new location on the disk, playback performance improves to expected levels. &lt;/p&gt;
&lt;p&gt;Ideally, the client would not assume the filesystem behavior on the server and would not issue these pre-allocate writes. This would allow the server to perform optimizations appropriate to the underlying filesystem. Modifying the Windows CIFS client, however, is not realistic. Modifying the server to discard the one-byte writes or delay them until overwritten by the real data may help in file fragmentation, but these solutions create data integrity issues. Another possibility would be to change ext3 so that it assumes data-full files.&lt;/p&gt;
&lt;p&gt;More realistically, the server could recognize the small size, high offset writes and use them to implement block pre-allocation on the disk. When the server sees transactions such as those observed here to be pre-allocations, it would translate those into a pre-allocate mechanism specific to the underlying filesystem. If this were implemented at the Samba or VFS layer, the pre-allocate writes could translate into a larger number of smaller stride one-byte writes (for example, striding each 4KB disk block) to allow ext3 to properly allocate contiguous blocks on the disk. If the underlying filesystem has a specific pre-allocation mechanism (as has been proposed for ext4), the one-byte writes could be translated directly into this filesystem-native pre-allocation. &lt;/p&gt;
&lt;div class="sectionHeading"&gt;System configurations&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Client system:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Intel &amp;reg; Pentium&amp;reg; 4 processor 3.6 GHz &lt;/li&gt;
    &lt;li&gt;Intel &amp;reg; D915GEV desktop board, 800 MHz system bus &lt;/li&gt;
    &lt;li&gt;Integrated Marvell* Yukon* 1GbE &lt;/li&gt;
    &lt;li&gt;2x512 MB DDR2-533 4-4-4-12 &lt;/li&gt;
    &lt;li&gt;1x Hitachi* Deskstar* 250 GB, 7200 RPM, SATA (NTFS) &lt;/li&gt;
    &lt;li&gt;Windows XP SP2 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Server system:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Intel &amp;reg; Pentium&amp;reg; D processor 3.2 GHz 2x1MB L2 &lt;/li&gt;
    &lt;li&gt;Intel &amp;reg; 955 chipset, 800 MHz system bus &lt;/li&gt;
    &lt;li&gt;Integrated Intel &amp;reg; PRO/1000 Gigabit Server Adapter &lt;/li&gt;
    &lt;li&gt;2x512MB DDR2-667 5-5-5-15 &lt;/li&gt;
    &lt;li&gt;WD* Raptor*, 74GB, 10,000RPM, SATA (OS drive, NTFS or ext3) &lt;/li&gt;
    &lt;li&gt;Hitachi Deskstar 250GB, 7,200 RPM, SATA (data drive, NTFS, ext3, or XFS) &lt;/li&gt;
    &lt;li&gt;Windows XP SP2 or Openfiler 2.2 (linux kernel 2.6.19, Samba 3.0.10) &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;*Other names and brands may be claimed as the property of others.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ISNOpenSource/~4/b8iaWq4rvB4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/ISNOpenSource/~3/b8iaWq4rvB4/windows-client-cifs-behavior-can-slow-linux-nas-performance</link>
      <pubDate>Wed, 26 Sep 2007 16:25:56 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/windows-client-cifs-behavior-can-slow-linux-nas-performance#comments</comments>
      <guid isPermaLink="false">http://software.intel.com/en-us/articles/windows-client-cifs-behavior-can-slow-linux-nas-performance</guid>
      <category>Open Source</category>
    <feedburner:origLink>http://software.intel.com/en-us/articles/windows-client-cifs-behavior-can-slow-linux-nas-performance</feedburner:origLink></item>
  </channel>
</rss>
