Search Results

Search found 57412 results on 2297 pages for 'microsoft access 2010'.

Page 565/2297 | < Previous Page | 561 562 563 564 565 566 567 568 569 570 571 572  | Next Page >

  • Query a range of date

    - by juniorSE
    Hello Guys, Im trying to query a sort of from - to date. e.g. 20-01-2010 to 20-02-2010. this should include the mentioned dates. i've tried the following queries but none works. select * from [tableName] where date = '20-01-2010' AND date <= '20-02-2010' the date where date is equal to 20-02-2010 does not show. i don't know why. select * from [tableName] where date between '20-01-2010' AND '20-02-2010' the mentioned dates is not included in the results. i want it to be included in the results. please help. thanks in advance! :)

    Read the article

  • Graph Generation in flex

    - by Roshan
    I need to generate a graph using the following XML in FLEX. [Bindable] public var stockDataAC:ArrayCollection = new ArrayCollection( [ {date: "2010, 4, 27", close: 41.71}, {date: "2010, 4, 28", close: 42.21}, {date: "2010, 5, 2", close: 42.71}, {date: "2010, 5, 3", close: 42.99}, {date: "2010, 5, 4", close: 44} ]); .............. < mx:horizontalAxis < mx:DateTimeAxis dataUnits="days" displayLocalTime="true" parseFunction="myParseFunction" / < /mx:horizontalAxis But this displays the graph from 2010/4/27 till 2010/5/4 including 2010/4/29, 2010/4/30 and 2010/5/1. I require the graph to display only the points in XML and exclude remaining thought it lies in between since it contains no data. How this can be done?

    Read the article

  • Wix Bootstrapper - difficulty detecting if software is already installed c++ redistributable, sql server ce 3.5 sp2

    - by gdeck
    I apologize if this is answered elsewhere. So far (thanks to a post from Rob Mensching), my code will detect .NET 4.0 if it's installed and it'll pass right over it. I'm not able to correctly detect Microsoft Visual C++ 2010 x86 Redistributable OR Microsoft SQL Server Compact 3.5 Service Pack 2. My code is below. I'm learning, so I would appreciate as much constructive criticism as possible. <!--Search for .NET 4.0--> <util:RegistrySearch Id="NETFRAMEWORK40" Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Install" Variable="NETFRAMEWORK40" Result="value"/> <!--Search for Microsoft Visual C++ 2010 x86 Redistributable--> <util:RegistrySearch Id="SearchForCPP2010X86" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86" Value="Install" Variable="CPP2010Redist" Result="exists"/> <!--Search for Microsoft SQL Server Compact 3.5 Service Pack 2--> <util:RegistrySearch Id="SearchForSQLSvrCE35SP2" Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU" Value="Install" Variable="SQLSvrCE35SP2" Result="exists"/> <Chain> <!-- Install .Net 4 Full --> <PackageGroupRef Id="Net4Full"/> <!-- Install Microsoft Visual C++ 2010 x86 Redistributable --> <PackageGroupRef Id="MSVisCPP2010x86Redist"/> <!-- Install Microsoft SQL Server Compact 3.5 Service Pack 2 --> <PackageGroupRef Id="SQLExpressCE"/> </Chain> <!--Install .NET 4.0--> <PackageGroup Id="Net4Full"> <ExePackage Id="Net4Full" Name="Microsoft .NET Framework 4.0 Setup" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" SourceFile="BootstrapperLibrary\dotNetFx40_Full_setup.exe" DetectCondition="NETFRAMEWORK40"/> </PackageGroup> <!--Install Microsoft Visual C++ 2010 x86 Redistributable--> <PackageGroup Id="MSVisCPP2010x86Redist"> <ExePackage Id="MSVisCPP2010x86Redis" Name="Microsoft Visual C++ 2010 x86 Redistributable " Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" SourceFile="BootstrapperLibrary\vcredist_x86.exe" DetectCondition="CPP2010Redist"/> </PackageGroup> <!--Install Microsoft SQL Server Compact 3.5 Service Pack 2--> <PackageGroup Id="SQLExpressCE"> <ExePackage Id="SQLExpressCE" Name="Microsoft SQL Server Compact 3.5 Service Pack 2 Setup" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" SourceFile="BootstrapperLibrary\SSCERuntime-ENU.exe"/> </PackageGroup>

    Read the article

  • Why are those modules being loaded in an ASP.NET project (not website)

    - by petergmagid
    I have an ASP.NET 3.5 Project (not website) and I don't understand why all these modules are being created and loaded. I thought that with a web project it would all compile to a single .DLL 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_fwtnlvuq.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_vb8hmtmg.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_v-nkuwgl.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_wn_uucrw.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_ngd_8nhu.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_8keebrhe.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_ohg9e50r.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_yhmgvhum.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_4qltywkk.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_1nml5ezc.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_cdju8bdk.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_xhugloto.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_rkqqzc0u.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_-vfyn7ik.dll', Symbols loaded. 'WebDev.WebServer.EXE' (Managed): Loaded 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\reviewstat_20\c147e006\64781866\App_Web_cthyzgij.dll', Symbols loaded.

    Read the article

  • How to determine the timezone that an email was sent from in C#

    - by John Sibly
    Can anyone recommend a way to determine the timezone that an email was sent from in C#? Looking at the header information of an email includes information like: Received: from mail-ew0-f211.google.com (123.85.219.211) by UKExchange (10.1.10.99) with Microsoft SMTP Server id 1.2.345.6; Tue, 13 Apr 2010 14:26:24 +0100 Received: by ewy3 with SMTP id 3so288857ewy.6 for <[email protected]>; Tue, 13 Apr 2010 06:26:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.213.2 with HTTP; Tue, 13 Apr 2010 06:26:23 -0700 (PDT) X-Originating-IP: [83.244.243.210] Date: Tue, 13 Apr 2010 14:26:23 +0100 Received: by 10.103.3.17 with SMTP id f17mr3087878mui.123.1271165183473; Tue, 13 Apr 2010 06:26:23 -0700 (PDT) There are a number of "Received: from" and "Received: by" keys with a date, time and timezone indicated on the end. Which one of these should I attempt to parse? Is this a reliable way to figure out the sender's timezone, or anyone recommend a better way?

    Read the article

  • Checking if parsed date is within a date range

    - by Brett Powell
    So I am using a scripting language with c++-like syntax, and I am trying to think of the best way to check if a date is within range. The problem I am running into is that if the current day is in a new month, the check is failing. Here is what my code looks like: if(iMonth >= iStartMonth && iMonth <= iEndMonth) { if(iDay >= iStartDay && iDay <= iEndDay) { if(iYear >= iStartYear && iYear <= iEndYear) { bEnabled = true; return; When I have something like this: Start date: 3 27 2010 End Date: 4 15 2010 Current Date: 3 31 2010 The day check fails because if (iDay <= iEndDay) does not pass. The scripting language doesn't have a lot of time related functions, and I can't compare timestamps because I'm allowing users to put like "03:27:2010" and "04:15:2010" as start/end dates in a config file. I'm assuming I am just not thinking straight and missing an easy fix.

    Read the article

  • Delays in .net app when connecting to oracle db using Oracle.DataAccess

    - by chris
    I have a .net desktop app that connects to an oracle database. At times, there are very noticable delays. I ran a trace on the code, and it was always in the DataReader.Read(). I turned on sql tracing, and found the following, which corresponds to the delays I'm seeing: (2128) [23-MAR-2010 13:00:07:310] nsprecv: reading from transport... (2128) [23-MAR-2010 13:00:07:310] nttrd: entry (2128) [23-MAR-2010 13:00:24:655] nttrd: socket 676 had bytes read=2047 (2128) [23-MAR-2010 13:00:24:655] nttrd: exit (2128) [23-MAR-2010 13:00:24:655] nsprecv: 2047 bytes from transport There's about a 14 second pause in there. I'm pretty sure that there's not a problem in the code, but not sure where to look at next. Is there anyone out there with experience with oracle trace that can explain what's going on?

    Read the article

  • dropdownlist format and then convert

    - by dinra
    i need a dropdownlist to show current month and year (January 2010) till January 2011, and an additional record of January 2011 +. But I want to save this in the database as 01/01/2010 format. also if the user selects current month then the record should be getdate() to go in database, else for any other month it should be 02/01/2010 (date = 01, first day of month). how do i do this in aspx.vb .net. i wrote a function to populate the dorpdownlist - Public Sub Load_dates(ByRef DDL As System.Web.UI.WebControls.DropDownList) Try Dim i As Integer Dim j As Integer For i = Now.Year To Now.Year For j = Now.Month To Now.Month + 11 DDL.Items.Add((j.ToString) + " " + (i.ToString)) Next Next Catch ex As Exception ReportError(ex) End Try End Sub this function only shows number like 01 2010 and 02 2010. how can i format this to show january 2010 and february 2010 and so on. please advice

    Read the article

  • date comparison inside a list returned

    - by rob
    I have a ArrayList returned from a service which contains date-timestamp as String values (with values: 2010-05-06T23:38:18,2010-05-06T23:32:52,2010-04-28T18:23:06,2010-04-27T20:34:02,2010-04-27T20:37:02) to be more specific, This is part of a parent ArrayList ObjectHistory. This list contains the datestamp and serial number. I need to pick the correct serial number. Objecthistory is the List object and I need to get the latest timestamp within this ObjectHistory. I need to pick the latest timestamp from this Arraylist in Java 6. How should I be doing this? Should I do convert these values into calendar-time? I am in panic mode as this has to be done directly in production.

    Read the article

  • Seasonal Pricing for a Hotel Room

    - by Laykes
    I am trying to manage seasonal prices for hotel rooms. The only way that I can think of doing it would be to use: | DayDate |EndDate | A | B ----------------------------------------------- | 2010/07/1 |2010/07/2 | 200 | 40 | 2010/07/3 |2010/07/4 | 150 | 40 | 2010/07/5 |2010/07/5 | 150 | 50 | 2010/07/6 |2010/07/7 | 200 | 50 | 2010/07/8 |2010/07/9 | 100 | 60 etc.. (table taken from another question). The problem is: I don't want my seasons to be year specific. Seasons for rooms shouldn't change year on year. I don't want my users to have to enter the seasonal information several times. I am also going to have thousands of rooms, so I don't know a way to make this easily manageable. I'm using mysql and php.

    Read the article

  • What PHP function(s) can I use to perform operations on non-integer timestamps?

    - by stephenhay
    Disclaimer, I'm not a PHP programmer, so you might find this question trivial. That's why I'm asking you! I've got this kind of timestamp: 2010-05-10T22:00:00 (That's Y-m-d) I would like to subtract, say, 10 days (or months, whatever) from this, and have my result be in the same format, i.e. 2010-04-30T22:00:00. What function(s) do I need to do this in PHP? Note: I'm using this to do a computed field in Drupal. The result will be the date that an e-mail is sent. Bonus question: If 2010-05-10T22:00:00 means "May 10, 2010 at 10pm", is there a timestamp equivalent of "May 10, 2010 (all day)"? Thanks everyone.

    Read the article

  • Cloud Fact for Business Managers #3: Where You Data Is, and Who Has Access to It Might Surprise You

    - by yaldahhakim
    Written by: David Krauss While data security and operational risk conversations usually happen around the desk of a CCO/CSO (chief compliance and/or security officer), or perhaps the CFO, since business managers are now selecting cloud providers, they need to be able to at least ask some high-level questions on the topic of risk and compliance.  While the report found that 76% of adopters were motivated to adopt cloud apps because of quick access to software, most of these managers found that after they made a purchase decision their access to exciting new capabilities in the cloud could be hindered due to performance and scalability constraints put forth  by their cloud provider.  If you are going to let your business consume their mission critical business applications as a service, then it’s important to understand who is providing those cloud services and what kind of performance you are going to get.  Different types of departments, companies and industries will all have unique requirements so it’s key to take this also into consideration.   Nothing puts a CEO in a bad mood like a public data breach or finding out the company lost money when customers couldn’t buy a product or service because your cloud service provider had a problem.  With 42% of business managers having seen a data security breach in their department associated directly with the use of cloud applications, this is happening more than you think.   We’ve talked about the importance of being able to avoid information silos through a unified cloud approach and platform.  This is also important when keeping your data safe and secure, and a key conversation to have with your cloud provider.  Your customers want to know that their information is protected when they do business with you, just like you want your own company information protected.   This is really hard to do when each line of business is running different cloud application services managed by different cloud providers, all with different processes and controls.   It only adds to the complexity, and the more complex, the more risky and the chance that something will go wrong. What about compliance? Depending on the cloud provider, it can be difficult at best to understand who has access to your data, and were your data is actually stored.  Add to this multiple cloud providers spanning multiple departments and it becomes very problematic when trying to comply with certain industry and country data security regulations.  With 73% of business managers complaining that having cloud data handled externally by one or more cloud vendors makes it hard for their department to be compliant, this is a big time suck for executives and it puts the organization at risk. Is There A Complete, Integrated, Modern Cloud Out there for Business Executives?If you are a business manager looking to drive faster innovation for your business and want a cloud application that your CIO would approve of, I would encourage you take a look at Oracle Cloud.  It’s everything you want from a SaaS based application, but without compromising on functionality and other modern capabilities like embedded business intelligence, social relationship management (for your entire business), and advanced mobile.  And because Oracle Cloud is built and managed by Oracle, you can be confident that your cloud application services are enterprise-grade.  Over 25 Million users and 10 thousands companies around the globe rely on Oracle Cloud application services everyday – maybe your business should too.  For more information, visit cloud.oracle.com. Additional Resources •    Try it: cloud.oracle.com•    Learn more: http://www.oracle.com/us/corporate/features/complete-cloud/index.html•    Research Report: Cloud for Business Managers: The Good, the Bad, and the Ugly

    Read the article

  • ASP.NET/IIS Fix: The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

    In my latest ASP.NET project, I refresh the sample data using an Excel spreadsheet from the client. After upgrading to Windows Server 2008 R2, I suddenly discovered this error: The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine...(read more)...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • PTLQueue : a scalable bounded-capacity MPMC queue

    - by Dave
    Title: Fast concurrent MPMC queue -- I've used the following concurrent queue algorithm enough that it warrants a blog entry. I'll sketch out the design of a fast and scalable multiple-producer multiple-consumer (MPSC) concurrent queue called PTLQueue. The queue has bounded capacity and is implemented via a circular array. Bounded capacity can be a useful property if there's a mismatch between producer rates and consumer rates where an unbounded queue might otherwise result in excessive memory consumption by virtue of the container nodes that -- in some queue implementations -- are used to hold values. A bounded-capacity queue can provide flow control between components. Beware, however, that bounded collections can also result in resource deadlock if abused. The put() and take() operators are partial and wait for the collection to become non-full or non-empty, respectively. Put() and take() do not allocate memory, and are not vulnerable to the ABA pathologies. The PTLQueue algorithm can be implemented equally well in C/C++ and Java. Partial operators are often more convenient than total methods. In many use cases if the preconditions aren't met, there's nothing else useful the thread can do, so it may as well wait via a partial method. An exception is in the case of work-stealing queues where a thief might scan a set of queues from which it could potentially steal. Total methods return ASAP with a success-failure indication. (It's tempting to describe a queue or API as blocking or non-blocking instead of partial or total, but non-blocking is already an overloaded concurrency term. Perhaps waiting/non-waiting or patient/impatient might be better terms). It's also trivial to construct partial operators by busy-waiting via total operators, but such constructs may be less efficient than an operator explicitly and intentionally designed to wait. A PTLQueue instance contains an array of slots, where each slot has volatile Turn and MailBox fields. The array has power-of-two length allowing mod/div operations to be replaced by masking. We assume sensible padding and alignment to reduce the impact of false sharing. (On x86 I recommend 128-byte alignment and padding because of the adjacent-sector prefetch facility). Each queue also has PutCursor and TakeCursor cursor variables, each of which should be sequestered as the sole occupant of a cache line or sector. You can opt to use 64-bit integers if concerned about wrap-around aliasing in the cursor variables. Put(null) is considered illegal, but the caller or implementation can easily check for and convert null to a distinguished non-null proxy value if null happens to be a value you'd like to pass. Take() will accordingly convert the proxy value back to null. An advantage of PTLQueue is that you can use atomic fetch-and-increment for the partial methods. We initialize each slot at index I with (Turn=I, MailBox=null). Both cursors are initially 0. All shared variables are considered "volatile" and atomics such as CAS and AtomicFetchAndIncrement are presumed to have bidirectional fence semantics. Finally T is the templated type. I've sketched out a total tryTake() method below that allows the caller to poll the queue. tryPut() has an analogous construction. Zebra stripping : alternating row colors for nice-looking code listings. See also google code "prettify" : https://code.google.com/p/google-code-prettify/ Prettify is a javascript module that yields the HTML/CSS/JS equivalent of pretty-print. -- pre:nth-child(odd) { background-color:#ff0000; } pre:nth-child(even) { background-color:#0000ff; } border-left: 11px solid #ccc; margin: 1.7em 0 1.7em 0.3em; background-color:#BFB; font-size:12px; line-height:65%; " // PTLQueue : Put(v) : // producer : partial method - waits as necessary assert v != null assert Mask = 1 && (Mask & (Mask+1)) == 0 // Document invariants // doorway step // Obtain a sequence number -- ticket // As a practical concern the ticket value is temporally unique // The ticket also identifies and selects a slot auto tkt = AtomicFetchIncrement (&PutCursor, 1) slot * s = &Slots[tkt & Mask] // waiting phase : // wait for slot's generation to match the tkt value assigned to this put() invocation. // The "generation" is implicitly encoded as the upper bits in the cursor // above those used to specify the index : tkt div (Mask+1) // The generation serves as an epoch number to identify a cohort of threads // accessing disjoint slots while s-Turn != tkt : Pause assert s-MailBox == null s-MailBox = v // deposit and pass message Take() : // consumer : partial method - waits as necessary auto tkt = AtomicFetchIncrement (&TakeCursor,1) slot * s = &Slots[tkt & Mask] // 2-stage waiting : // First wait for turn for our generation // Acquire exclusive "take" access to slot's MailBox field // Then wait for the slot to become occupied while s-Turn != tkt : Pause // Concurrency in this section of code is now reduced to just 1 producer thread // vs 1 consumer thread. // For a given queue and slot, there will be most one Take() operation running // in this section. // Consumer waits for producer to arrive and make slot non-empty // Extract message; clear mailbox; advance Turn indicator // We have an obvious happens-before relation : // Put(m) happens-before corresponding Take() that returns that same "m" for T v = s-MailBox if v != null : s-MailBox = null ST-ST barrier s-Turn = tkt + Mask + 1 // unlock slot to admit next producer and consumer return v Pause tryTake() : // total method - returns ASAP with failure indication for auto tkt = TakeCursor slot * s = &Slots[tkt & Mask] if s-Turn != tkt : return null T v = s-MailBox // presumptive return value if v == null : return null // ratify tkt and v values and commit by advancing cursor if CAS (&TakeCursor, tkt, tkt+1) != tkt : continue s-MailBox = null ST-ST barrier s-Turn = tkt + Mask + 1 return v The basic idea derives from the Partitioned Ticket Lock "PTL" (US20120240126-A1) and the MultiLane Concurrent Bag (US8689237). The latter is essentially a circular ring-buffer where the elements themselves are queues or concurrent collections. You can think of the PTLQueue as a partitioned ticket lock "PTL" augmented to pass values from lock to unlock via the slots. Alternatively, you could conceptualize of PTLQueue as a degenerate MultiLane bag where each slot or "lane" consists of a simple single-word MailBox instead of a general queue. Each lane in PTLQueue also has a private Turn field which acts like the Turn (Grant) variables found in PTL. Turn enforces strict FIFO ordering and restricts concurrency on the slot mailbox field to at most one simultaneous put() and take() operation. PTL uses a single "ticket" variable and per-slot Turn (grant) fields while MultiLane has distinct PutCursor and TakeCursor cursors and abstract per-slot sub-queues. Both PTL and MultiLane advance their cursor and ticket variables with atomic fetch-and-increment. PTLQueue borrows from both PTL and MultiLane and has distinct put and take cursors and per-slot Turn fields. Instead of a per-slot queues, PTLQueue uses a simple single-word MailBox field. PutCursor and TakeCursor act like a pair of ticket locks, conferring "put" and "take" access to a given slot. PutCursor, for instance, assigns an incoming put() request to a slot and serves as a PTL "Ticket" to acquire "put" permission to that slot's MailBox field. To better explain the operation of PTLQueue we deconstruct the operation of put() and take() as follows. Put() first increments PutCursor obtaining a new unique ticket. That ticket value also identifies a slot. Put() next waits for that slot's Turn field to match that ticket value. This is tantamount to using a PTL to acquire "put" permission on the slot's MailBox field. Finally, having obtained exclusive "put" permission on the slot, put() stores the message value into the slot's MailBox. Take() similarly advances TakeCursor, identifying a slot, and then acquires and secures "take" permission on a slot by waiting for Turn. Take() then waits for the slot's MailBox to become non-empty, extracts the message, and clears MailBox. Finally, take() advances the slot's Turn field, which releases both "put" and "take" access to the slot's MailBox. Note the asymmetry : put() acquires "put" access to the slot, but take() releases that lock. At any given time, for a given slot in a PTLQueue, at most one thread has "put" access and at most one thread has "take" access. This restricts concurrency from general MPMC to 1-vs-1. We have 2 ticket locks -- one for put() and one for take() -- each with its own "ticket" variable in the form of the corresponding cursor, but they share a single "Grant" egress variable in the form of the slot's Turn variable. Advancing the PutCursor, for instance, serves two purposes. First, we obtain a unique ticket which identifies a slot. Second, incrementing the cursor is the doorway protocol step to acquire the per-slot mutual exclusion "put" lock. The cursors and operations to increment those cursors serve double-duty : slot-selection and ticket assignment for locking the slot's MailBox field. At any given time a slot MailBox field can be in one of the following states: empty with no pending operations -- neutral state; empty with one or more waiting take() operations pending -- deficit; occupied with no pending operations; occupied with one or more waiting put() operations -- surplus; empty with a pending put() or pending put() and take() operations -- transitional; or occupied with a pending take() or pending put() and take() operations -- transitional. The partial put() and take() operators can be implemented with an atomic fetch-and-increment operation, which may confer a performance advantage over a CAS-based loop. In addition we have independent PutCursor and TakeCursor cursors. Critically, a put() operation modifies PutCursor but does not access the TakeCursor and a take() operation modifies the TakeCursor cursor but does not access the PutCursor. This acts to reduce coherence traffic relative to some other queue designs. It's worth noting that slow threads or obstruction in one slot (or "lane") does not impede or obstruct operations in other slots -- this gives us some degree of obstruction isolation. PTLQueue is not lock-free, however. The implementation above is expressed with polite busy-waiting (Pause) but it's trivial to implement per-slot parking and unparking to deschedule waiting threads. It's also easy to convert the queue to a more general deque by replacing the PutCursor and TakeCursor cursors with Left/Front and Right/Back cursors that can move either direction. Specifically, to push and pop from the "left" side of the deque we would decrement and increment the Left cursor, respectively, and to push and pop from the "right" side of the deque we would increment and decrement the Right cursor, respectively. We used a variation of PTLQueue for message passing in our recent OPODIS 2013 paper. ul { list-style:none; padding-left:0; padding:0; margin:0; margin-left:0; } ul#myTagID { padding: 0px; margin: 0px; list-style:none; margin-left:0;} -- -- There's quite a bit of related literature in this area. I'll call out a few relevant references: Wilson's NYU Courant Institute UltraComputer dissertation from 1988 is classic and the canonical starting point : Operating System Data Structures for Shared-Memory MIMD Machines with Fetch-and-Add. Regarding provenance and priority, I think PTLQueue or queues effectively equivalent to PTLQueue have been independently rediscovered a number of times. See CB-Queue and BNPBV, below, for instance. But Wilson's dissertation anticipates the basic idea and seems to predate all the others. Gottlieb et al : Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential Processors Orozco et al : CB-Queue in Toward high-throughput algorithms on many-core architectures which appeared in TACO 2012. Meneghin et al : BNPVB family in Performance evaluation of inter-thread communication mechanisms on multicore/multithreaded architecture Dmitry Vyukov : bounded MPMC queue (highly recommended) Alex Otenko : US8607249 (highly related). John Mellor-Crummey : Concurrent queues: Practical fetch-and-phi algorithms. Technical Report 229, Department of Computer Science, University of Rochester Thomasson : FIFO Distributed Bakery Algorithm (very similar to PTLQueue). Scott and Scherer : Dual Data Structures I'll propose an optimization left as an exercise for the reader. Say we wanted to reduce memory usage by eliminating inter-slot padding. Such padding is usually "dark" memory and otherwise unused and wasted. But eliminating the padding leaves us at risk of increased false sharing. Furthermore lets say it was usually the case that the PutCursor and TakeCursor were numerically close to each other. (That's true in some use cases). We might still reduce false sharing by incrementing the cursors by some value other than 1 that is not trivially small and is coprime with the number of slots. Alternatively, we might increment the cursor by one and mask as usual, resulting in a logical index. We then use that logical index value to index into a permutation table, yielding an effective index for use in the slot array. The permutation table would be constructed so that nearby logical indices would map to more distant effective indices. (Open question: what should that permutation look like? Possibly some perversion of a Gray code or De Bruijn sequence might be suitable). As an aside, say we need to busy-wait for some condition as follows : "while C == 0 : Pause". Lets say that C is usually non-zero, so we typically don't wait. But when C happens to be 0 we'll have to spin for some period, possibly brief. We can arrange for the code to be more machine-friendly with respect to the branch predictors by transforming the loop into : "if C == 0 : for { Pause; if C != 0 : break; }". Critically, we want to restructure the loop so there's one branch that controls entry and another that controls loop exit. A concern is that your compiler or JIT might be clever enough to transform this back to "while C == 0 : Pause". You can sometimes avoid this by inserting a call to a some type of very cheap "opaque" method that the compiler can't elide or reorder. On Solaris, for instance, you could use :"if C == 0 : { gethrtime(); for { Pause; if C != 0 : break; }}". It's worth noting the obvious duality between locks and queues. If you have strict FIFO lock implementation with local spinning and succession by direct handoff such as MCS or CLH,then you can usually transform that lock into a queue. Hidden commentary and annotations - invisible : * And of course there's a well-known duality between queues and locks, but I'll leave that topic for another blog post. * Compare and contrast : PTLQ vs PTL and MultiLane * Equivalent : Turn; seq; sequence; pos; position; ticket * Put = Lock; Deposit Take = identify and reserve slot; wait; extract & clear; unlock * conceptualize : Distinct PutLock and TakeLock implemented as ticket lock or PTL Distinct arrival cursors but share per-slot "Turn" variable provides exclusive role-based access to slot's mailbox field put() acquires exclusive access to a slot for purposes of "deposit" assigns slot round-robin and then acquires deposit access rights/perms to that slot take() acquires exclusive access to slot for purposes of "withdrawal" assigns slot round-robin and then acquires withdrawal access rights/perms to that slot At any given time, only one thread can have withdrawal access to a slot at any given time, only one thread can have deposit access to a slot Permissible for T1 to have deposit access and T2 to simultaneously have withdrawal access * round-robin for the purposes of; role-based; access mode; access role mailslot; mailbox; allocate/assign/identify slot rights; permission; license; access permission; * PTL/Ticket hybrid Asymmetric usage ; owner oblivious lock-unlock pairing K-exclusion add Grant cursor pass message m from lock to unlock via Slots[] array Cursor performs 2 functions : + PTL ticket + Assigns request to slot in round-robin fashion Deconstruct protocol : explication put() : allocate slot in round-robin fashion acquire PTL for "put" access store message into slot associated with PTL index take() : Acquire PTL for "take" access // doorway step seq = fetchAdd (&Grant, 1) s = &Slots[seq & Mask] // waiting phase while s-Turn != seq : pause Extract : wait for s-mailbox to be full v = s-mailbox s-mailbox = null Release PTL for both "put" and "take" access s-Turn = seq + Mask + 1 * Slot round-robin assignment and lock "doorway" protocol leverage the same cursor and FetchAdd operation on that cursor FetchAdd (&Cursor,1) + round-robin slot assignment and dispersal + PTL/ticket lock "doorway" step waiting phase is via "Turn" field in slot * PTLQueue uses 2 cursors -- put and take. Acquire "put" access to slot via PTL-like lock Acquire "take" access to slot via PTL-like lock 2 locks : put and take -- at most one thread can access slot's mailbox Both locks use same "turn" field Like multilane : 2 cursors : put and take slot is simple 1-capacity mailbox instead of queue Borrow per-slot turn/grant from PTL Provides strict FIFO Lock slot : put-vs-put take-vs-take at most one put accesses slot at any one time at most one put accesses take at any one time reduction to 1-vs-1 instead of N-vs-M concurrency Per slot locks for put/take Release put/take by advancing turn * is instrumental in ... * P-V Semaphore vs lock vs K-exclusion * See also : FastQueues-excerpt.java dice-etc/queue-mpmc-bounded-blocking-circular-xadd/ * PTLQueue is the same as PTLQB - identical * Expedient return; ASAP; prompt; immediately * Lamport's Bakery algorithm : doorway step then waiting phase Threads arriving at doorway obtain a unique ticket number Threads enter in ticket order * In the terminology of Reed and Kanodia a ticket lock corresponds to the busy-wait implementation of a semaphore using an eventcount and a sequencer It can also be thought of as an optimization of Lamport's bakery lock was designed for fault-tolerance rather than performance Instead of spinning on the release counter, processors using a bakery lock repeatedly examine the tickets of their peers --

    Read the article

  • William C. Lowe, le créateur de l'IBM PC est décédé, son appareil avait contribué à l'essor de Microsoft et Intel

    Le créateur du PC est décédé un périphérique qui a contribué à l'essor des firmes Microsoft et Intel William C. Lowe, le père du PC, a rendu l'âme le 19 octobre 2013 à la suite d'une crise cardiaque. Ce qu'on retient de ce grand homme est qu'il fut celui qui a donné à IBM son tout premier ordinateur personnel destiné au grand public. Dans les années 70, Big Blue a pratiquement le monopole de la construction des mainframes pour les grandes entreprises et les gouvernements, mais un marché semble...

    Read the article

  • Could not load file or assembly 'AjaxControlToolkit' or one of its dependencies. Access is denied.

    - by datagridgirl
    I wanted to post a solution to an issue that comes up every time I have to setup a new developer in our organization:      Could not load file or assembly 'AjaxControlToolkit' or one of its dependencies. Access is denied.  My solution is to grant Full Control to the "Everyone" group to the folder C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files  I know there are other solutions to this problem, but this one seems the simplest for me.  Marcie

    Read the article

  • Les entreprises ne sont pas la priorité de Mozilla, Microsoft saisit l'occasion pour promouvoir IE 9 face à la fin attendue du support de Firefox 3.6

    Les entreprises ne sont pas la priorité de Mozilla Microsoft saisit l'occasion pour promouvoir IE 9, annonce attendue de la fin de Firefox 3.6 Co-écrit avec Hinault Romarick Le nouveau cycle de développement de Firefox, axé sur la publication des nouvelles versions avec des périodicités d'environ six semaines, s'accompagne également chez la fondation Mozilla de mises à la retraite plus rapide des versions précédentes. La fondation a ainsi déjà mis un terme aux mises à jour de sécurité de Firefox 4, publié il y a tout juste 3 mois avec

    Read the article

  • This Week in Geek History: Microsoft Goes Public, Birth of Albert Einstein, The Internet Becomes Cross-Oceanic

    - by Jason Fitzpatrick
    Every week we take a look at interesting trivia and events from the history of Geekdom. This week we’re taking a look at the first public offering of Microsoft stock, the birth of Albert Einstein, and the cross linking of information networks across the Atlantic.How to Enable Google Chrome’s Secret Gold IconHTG Explains: What’s the Difference Between the Windows 7 HomeGroups and XP-style Networking?Internet Explorer 9 Released: Here’s What You Need To Know

    Read the article

  • Le plug-in ODF pour Microsoft Office devient payant Par la décision d'Oracle : le format ouvert d'Op

    Mise à jour du 20/04/10 NB : Les commentaires sur cette mise à jour commencent ici dans le topic Le plug-in ODF pour Microsoft Office devient payant Par la décision d'Oracle : le format ouvert d'OpenOffice.org et OpenOffice lui-même vont ils en souffrir ? Si le format ODF ne dira rien à certains, il parlera certainement beaucoup aux autres. L'OpenFormat Document est un format ouvert de données pour les applications bureautiques. OpenDocument était proposé comme un form...

    Read the article

  • Google et Blink tournent le dos au W3C et à Pointer Events de Microsoft, au profit de Touch Events d'Apple ?

    Google et Blink tournent le dos au W3C et à Pointer Events de Microsoft au profit de Touch Events d'Apple ? Google et son moteur de rendu Web Blink ont finalement tranché en défaveur du standard du W3C, en effet à travers un bref communiqué sur la plateforme de développement de Blink, Google vient d'annoncer l'abandon de l'API Pointer Events, jusqu'ici présentée comme le futur standard du W3C en remplacement de Touch Events.Pour rappel Blink est le fork du célèbre moteur de rendu web Webkit actuellement...

    Read the article

  • Brevets : Android de nouveau en danger, un consortium constitué d'Apple, Microsoft, Sony attaque en justice Google et plusieurs constructeurs

    Brevets : Android de nouveau en danger un consortium constitué d'Apple, Microsoft, Sony attaque en justice Google et plusieurs constructeurs Android de nouveau devant la barre. Après la grosse affaire de violation des brevets liés aux API Java ayant opposé Google à Oracle, Android va de nouveau faire face à une autre poursuite en justice qui pourrait bouleverser l'écosystème mobile.Le succès de la plateforme mobile de Google, qui détient désormais près de 70 % de part de marché du mobile, charme...

    Read the article

  • Internet Explorer 9 déjà plus rapide que Safari 5 ? Microsoft n'apprécie pas d'avoir été oublié par

    Mise à jour du 09/06/10 Internet Explorer 9 plus rapide que Safari 5 ? Rappelle Microsoft, qui n'apprécie pas d'avoir été oublié par Apple dans sa liste des principaux concurrents On se dit que, des fois, les équipes de développement sont susceptibles. Lors du lancement de Safari 5 (hier), Apple ne s'était pas privé de souligner que son navigateur était beaucoup plus rapide que ses principaux concurrents, à savoir Chrome et Firefox. Pas un mot en revanche sur Internet Explorer, superbem...

    Read the article

  • Le prochain Visual Studio se dévoile, Microsoft publie la préversion de Visual Studio 14 avec Roslyn, ASP.NET vNext et le support de C++ 11/14

    Le prochain Visual Studio se dévoile Microsoft publie la préversion de Visual Studio 14 avec Roslyn, ASP.NET vNext et le support de C++ 11/14Microsoft fait évoluer Visual Studio, son environnement de développement intégré, à un rythme effréné.La société vient de mettre à la disposition des développeurs une préversion (CTP) de la prochaine version majeure de l'EDI, ayant pour nom de code Visual Studio 14. Disponible à des fins de test (à ne pas utiliser dans un environnement de production), cette...

    Read the article

  • Droit à l'oubli : Microsoft travaille également sur un moyen pour demander la suppression des données sensibles sur son moteur Bing

    Droit à l'oubli : Microsoft travaille également sur un moyen pour demander la suppression des données sensibles sur son moteur BingSuite à la décision de la Cour de Justice de l'Union européenne (CJUE) autorisant les internautes européens à avoir recours au droit à l'oubli, les projecteurs se sont tournés vers Google, de par sa part de marché importante dans le domaine de la recherche en ligne, alors que tous les acteurs de la recherche en ligne en Europe sont concernés par cette mesure.Tout...

    Read the article

< Previous Page | 561 562 563 564 565 566 567 568 569 570 571 572  | Next Page >