Search Results

Search found 7779 results on 312 pages for 'usb to parallel'.

Page 24/312 | < Previous Page | 20 21 22 23 24 25 26 27 28 29 30 31  | Next Page >

  • Ubuntu on USB does not boot on MacBook

    - by Sean H
    Ubuntu is installed on a 32 gigabyte flash-drive and it successfully booted every time up until I partitioned my hard-drive and installed Windows as a secondary boot (for programming reasons). Now every time I attempt to boot the Ubuntu flash-drive it boots into Windows XP. The same goes for partitions, I partitioned my hard-drive and installed Ubuntu and it only booted Windows XP. I am on a MacBook 6,1 with Mac OS X 10.6.8, 2 partitions, and I am using ReFit as my boot-loader. EDIT: I had Ubuntu working fine from FLASH DRIVE and at one point as a partition. I later uninstalled Ubuntu from my hard-drive and installed Windows. I then had to re-image my computer for certain reasons and I installed windows. Now when I attempt to boot anything other than Windows or OS X it boots into windows. Ubuntu was never on my hard drive while Ubuntu was on it. The flash-drive has been its own thing and has the boot-loader installed to it and loads from ReFit but boots into windows.

    Read the article

  • USB and CD data cannot be read or mounted in 12.10

    - by aravind4j
    I'm using Ubuntu 12.10. I wrote a data disk using Brasero Disk Burner, but the system cannot read the CD. I tried to write the same data into my HP v220w pen drive but now there is an error in that too. It shows the following: Error mounting /dev/sdb at /media/aravind4j/Aravind4j: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sdb" "/media/aravind4j/Aravind4j"' exited with non-zero exit status 13: $MFTMirr does not match $MFT (record 0). Failed to mount '/dev/sdb': Input/output error NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory, (e.g. /dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation for more details. (udisks-error-quark, 0) I used a NTFS file system for the pen drive as you can recognize from the above statement. I would like to recover the files so please help me recover the files without formatting the drive.

    Read the article

  • Booting 11.10 from USB stick on MacBook Pro 5,1 fails

    - by Helge Stenström
    I've created a bootable memory stick on a Windows computer, and tested it on an HP PC. It's made from a 64-bit image of Ubuntu 11.10, downloaded from http://www.ubuntu.com/download/ubuntu/download. When I boot from this memory stick, there is some kind of boot menu, where I can choose to run Ubuntu from the memory stick, or install. I select Run from memory stick. (the words may be wrong here, I'm taking it from memory.) From this point, the screen is black (but backlighted), and I can't do anything but turn off the computer. It gets hot, too. Has anyone been more successful than me? Are there known issues? The computer is a 15 inch MacBook Pro 5,1 (unibody, late 2008), 4 GB memory.

    Read the article

  • 12.04 backlight issue for Acer Aspire 5734z-4725 running on usb flash drive

    - by Shawn
    I have followed the fix found here: Backlight Issue However I can't use the sudo update-grub2 command as it errors with /usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?). As this laptop's hard drive is shot, I can't install the OS. I have been able to get it to temporarily work with sudo setpci -s 00:02.0 F4.B=00. I'm new to Ubuntu, so if you know how to fix this please provided as much detail to what I would need to do.

    Read the article

  • Ubuntu doesn't "see" external USB Hard Disk

    - by Mina Michael
    It's NTFS. It's USB2. I'm using Ubuntu 13.04. It works perfectly fine on Windows (which excludes cable and hardware problems). I have two Ubuntu computers and it's not detected on either. It's about 500 GB. Edits: Following the first link, I input sudo lsusb in a terminal; before and after connecting the HDD. The difference was Bus 001 Device 012: ID 14cd:6116 Super Top M6116 SATA Bridge. There it is! ("sata bridge" used to appear in a windows notification when I plugged in the HDD in!). ...This means that Ubuntu detects it but is it not mounting it? I tried this: sudo mount /dev/sdb1 /mnt But gives this: mount: special device /dev/sdb1 does not exist I also tried: sudo mount /dev/sdc1 /mnt but it stays with no output forever. I left it in background for about 30 min.s. sudo fdisk -l gives out this: Disk /dev/sda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xa42d04a3 Device Boot Start End Blocks Id System /dev/sda1 63 80324 40131 de Dell Utility /dev/sda2 * 80325 102481919 51200797+ 7 HPFS/NTFS/exFAT /dev/sda3 263874558 312580095 24352769 5 Extended /dev/sda4 102481920 263872511 80695296 7 HPFS/NTFS/exFAT /dev/sda5 263874560 310505471 23315456 83 Linux /dev/sda6 310507520 312580095 1036288 82 Linux swap / Solaris Partition table entries are not in disk order Disk /dev/sdc: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x5822aaea Device Boot Start End Blocks Id System /dev/sdc1 2048 976769023 488383488 7 HPFS/NTFS/exFAT The part below "Partition table entries are not in disk order" takes about 5 minutes to appear. The outputs of ls /dev/ | grep sd before and after connecting the HDD: before: sda sda1 sda2 sda3 sda4 sda5 sda6 ,after: sda sda1 sda2 sda3 sda4 sda5 sda6 sdd sdd1 The second output has the lines sdd and sdd1 different from the first one. IT SHOWED THE FILES!! The command sudo mount /dev/sdd1 /mnt worked after I typed in sudo fdisk -l!!! Thanks a million!! :) :)

    Read the article

  • Ubuntu Server Installer does not detect usb device

    - by Peter
    For some time now I am struggling with the 12.04 Ubuntu Server installer. I am trying to execute a clean, CD based install with the mentioned version onto an SD card. For the sake of the simplicity I have taken out the HDD. However, I had to recognise that the "disk detection" phase simply can not find the SDCARD. It says "No disk drive was detected. If you know the name of the driver needed by your disk drive, you can select from the list." What is really strange that I have tried the older Ubuntu Server installer (11.04) and this is simply recognising the sdcard... Does anyone have any idea? Many thanks, Peter

    Read the article

  • Fixing USB drive auto-notify

    - by steevc
    Yesterday I was copying files from SD cards, but at some point they stopped auto-mounting. Didn't notice any errors. I can still mount by right-clicking the appropriate file in /dev in Konqueror. UPDATE: Slight correction. The drives never automounted, but I've stopped getting the notification that a drive is plugged in. What processes should I be checking? Something in Device Actions? I'm using Kubuntu 10.04

    Read the article

  • Leapfrog Crammer won't mount as a USB flash drive

    - by William
    I can't seem to get the Leapfrog Crammer study and sound system to show up as a flash drive under ubuntu so I can transfer stuff to it. I don't want to install the leapfrog bloatware, can someone help me with this? Additional Information: When I plug my crammer into my computer it shows a 1 MB file system with a link to download the crammer software. I want to know how to access the rest of the crammer's file system so I can transfer music to it. The crammer does not show any other partitions in natulius. According to an article on the internet, the crammed is divided into three partitions: One with a link to install the crammer software, one with all content(music, flash cards, etc.) and one for firmware. I want to know how to access the one with the content so I can add music to the player. Can anyone help me with this? Thanks in advance.

    Read the article

  • how to run multiple shell scripts in parallel

    - by tom smith
    I've got a few test scripts, each of which runs a test php app. Each script runs forever. So, cat.sh, dog.sh, and foo.sh, each run a php script, and each shell script runs the php app in a loop, so it runs forever, sleeping after each run. I'm trying to figure out how to run the scripts in parallel, and at the same time, see the output of the php apps in the stdout/term window. I thought, simply doing something like foo.sh > &2 dog.sh > &2 cat.sh > &2 in a shell script would be sufficient, but it's not working. foo.sh, runs foo.php once, and it runs correctly dog.sh, runs dog.php in a never ending loop. it runs as expected cat.sh, runs cat.php in a never ending loop *** this never runs!!! it appears that the shell script never gets to run cat.sh. if i run cat.sh by itself in a separate window/term, it runs as expected... thoughts/comments

    Read the article

  • Understanding and Controlling Parallel Query Processing in SQL Server

    Data warehousing and general reporting applications tend to be CPU intensive because they need to read and process a large number of rows. To facilitate quick data processing for queries that touch a large amount of data, Microsoft SQL Server exploits the power of multiple logical processors to provide parallel query processing operations such as parallel scans. Through extensive testing, we have learned that, for most large queries that are executed in a parallel fashion, SQL Server can deliver linear or nearly linear response time speedup as the number of logical processors increases. However, some queries in high parallelism scenarios perform suboptimally. There are also some parallelism issues that can occur in a multi-user parallel query workload. This white paper describes parallel performance problems you might encounter when you run such queries and workloads, and it explains why these issues occur. In addition, it presents how data warehouse developers can detect these issues, and how they can work around them or mitigate them.

    Read the article

  • Improving Partitioned Table Join Performance

    - by Paul White
    The query optimizer does not always choose an optimal strategy when joining partitioned tables. This post looks at an example, showing how a manual rewrite of the query can almost double performance, while reducing the memory grant to almost nothing. Test Data The two tables in this example use a common partitioning partition scheme. The partition function uses 41 equal-size partitions: CREATE PARTITION FUNCTION PFT (integer) AS RANGE RIGHT FOR VALUES ( 125000, 250000, 375000, 500000, 625000, 750000, 875000, 1000000, 1125000, 1250000, 1375000, 1500000, 1625000, 1750000, 1875000, 2000000, 2125000, 2250000, 2375000, 2500000, 2625000, 2750000, 2875000, 3000000, 3125000, 3250000, 3375000, 3500000, 3625000, 3750000, 3875000, 4000000, 4125000, 4250000, 4375000, 4500000, 4625000, 4750000, 4875000, 5000000 ); GO CREATE PARTITION SCHEME PST AS PARTITION PFT ALL TO ([PRIMARY]); There two tables are: CREATE TABLE dbo.T1 ( TID integer NOT NULL IDENTITY(0,1), Column1 integer NOT NULL, Padding binary(100) NOT NULL DEFAULT 0x,   CONSTRAINT PK_T1 PRIMARY KEY CLUSTERED (TID) ON PST (TID) );   CREATE TABLE dbo.T2 ( TID integer NOT NULL, Column1 integer NOT NULL, Padding binary(100) NOT NULL DEFAULT 0x,   CONSTRAINT PK_T2 PRIMARY KEY CLUSTERED (TID, Column1) ON PST (TID) ); The next script loads 5 million rows into T1 with a pseudo-random value between 1 and 5 for Column1. The table is partitioned on the IDENTITY column TID: INSERT dbo.T1 WITH (TABLOCKX) (Column1) SELECT (ABS(CHECKSUM(NEWID())) % 5) + 1 FROM dbo.Numbers AS N WHERE n BETWEEN 1 AND 5000000; In case you don’t already have an auxiliary table of numbers lying around, here’s a script to create one with 10 million rows: CREATE TABLE dbo.Numbers (n bigint PRIMARY KEY);   WITH L0 AS(SELECT 1 AS c UNION ALL SELECT 1), L1 AS(SELECT 1 AS c FROM L0 AS A CROSS JOIN L0 AS B), L2 AS(SELECT 1 AS c FROM L1 AS A CROSS JOIN L1 AS B), L3 AS(SELECT 1 AS c FROM L2 AS A CROSS JOIN L2 AS B), L4 AS(SELECT 1 AS c FROM L3 AS A CROSS JOIN L3 AS B), L5 AS(SELECT 1 AS c FROM L4 AS A CROSS JOIN L4 AS B), Nums AS(SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS n FROM L5) INSERT dbo.Numbers WITH (TABLOCKX) SELECT TOP (10000000) n FROM Nums ORDER BY n OPTION (MAXDOP 1); Table T1 contains data like this: Next we load data into table T2. The relationship between the two tables is that table 2 contains ‘n’ rows for each row in table 1, where ‘n’ is determined by the value in Column1 of table T1. There is nothing particularly special about the data or distribution, by the way. INSERT dbo.T2 WITH (TABLOCKX) (TID, Column1) SELECT T.TID, N.n FROM dbo.T1 AS T JOIN dbo.Numbers AS N ON N.n >= 1 AND N.n <= T.Column1; Table T2 ends up containing about 15 million rows: The primary key for table T2 is a combination of TID and Column1. The data is partitioned according to the value in column TID alone. Partition Distribution The following query shows the number of rows in each partition of table T1: SELECT PartitionID = CA1.P, NumRows = COUNT_BIG(*) FROM dbo.T1 AS T CROSS APPLY (VALUES ($PARTITION.PFT(TID))) AS CA1 (P) GROUP BY CA1.P ORDER BY CA1.P; There are 40 partitions containing 125,000 rows (40 * 125k = 5m rows). The rightmost partition remains empty. The next query shows the distribution for table 2: SELECT PartitionID = CA1.P, NumRows = COUNT_BIG(*) FROM dbo.T2 AS T CROSS APPLY (VALUES ($PARTITION.PFT(TID))) AS CA1 (P) GROUP BY CA1.P ORDER BY CA1.P; There are roughly 375,000 rows in each partition (the rightmost partition is also empty): Ok, that’s the test data done. Test Query and Execution Plan The task is to count the rows resulting from joining tables 1 and 2 on the TID column: SET STATISTICS IO ON; DECLARE @s datetime2 = SYSUTCDATETIME();   SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID;   SELECT DATEDIFF(Millisecond, @s, SYSUTCDATETIME()); SET STATISTICS IO OFF; The optimizer chooses a plan using parallel hash join, and partial aggregation: The Plan Explorer plan tree view shows accurate cardinality estimates and an even distribution of rows across threads (click to enlarge the image): With a warm data cache, the STATISTICS IO output shows that no physical I/O was needed, and all 41 partitions were touched: Running the query without actual execution plan or STATISTICS IO information for maximum performance, the query returns in around 2600ms. Execution Plan Analysis The first step toward improving on the execution plan produced by the query optimizer is to understand how it works, at least in outline. The two parallel Clustered Index Scans use multiple threads to read rows from tables T1 and T2. Parallel scan uses a demand-based scheme where threads are given page(s) to scan from the table as needed. This arrangement has certain important advantages, but does result in an unpredictable distribution of rows amongst threads. The point is that multiple threads cooperate to scan the whole table, but it is impossible to predict which rows end up on which threads. For correct results from the parallel hash join, the execution plan has to ensure that rows from T1 and T2 that might join are processed on the same thread. For example, if a row from T1 with join key value ‘1234’ is placed in thread 5’s hash table, the execution plan must guarantee that any rows from T2 that also have join key value ‘1234’ probe thread 5’s hash table for matches. The way this guarantee is enforced in this parallel hash join plan is by repartitioning rows to threads after each parallel scan. The two repartitioning exchanges route rows to threads using a hash function over the hash join keys. The two repartitioning exchanges use the same hash function so rows from T1 and T2 with the same join key must end up on the same hash join thread. Expensive Exchanges This business of repartitioning rows between threads can be very expensive, especially if a large number of rows is involved. The execution plan selected by the optimizer moves 5 million rows through one repartitioning exchange and around 15 million across the other. As a first step toward removing these exchanges, consider the execution plan selected by the optimizer if we join just one partition from each table, disallowing parallelism: SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = 1 AND $PARTITION.PFT(T2.TID) = 1 OPTION (MAXDOP 1); The optimizer has chosen a (one-to-many) merge join instead of a hash join. The single-partition query completes in around 100ms. If everything scaled linearly, we would expect that extending this strategy to all 40 populated partitions would result in an execution time around 4000ms. Using parallelism could reduce that further, perhaps to be competitive with the parallel hash join chosen by the optimizer. This raises a question. If the most efficient way to join one partition from each of the tables is to use a merge join, why does the optimizer not choose a merge join for the full query? Forcing a Merge Join Let’s force the optimizer to use a merge join on the test query using a hint: SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID OPTION (MERGE JOIN); This is the execution plan selected by the optimizer: This plan results in the same number of logical reads reported previously, but instead of 2600ms the query takes 5000ms. The natural explanation for this drop in performance is that the merge join plan is only using a single thread, whereas the parallel hash join plan could use multiple threads. Parallel Merge Join We can get a parallel merge join plan using the same query hint as before, and adding trace flag 8649: SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID OPTION (MERGE JOIN, QUERYTRACEON 8649); The execution plan is: This looks promising. It uses a similar strategy to distribute work across threads as seen for the parallel hash join. In practice though, performance is disappointing. On a typical run, the parallel merge plan runs for around 8400ms; slower than the single-threaded merge join plan (5000ms) and much worse than the 2600ms for the parallel hash join. We seem to be going backwards! The logical reads for the parallel merge are still exactly the same as before, with no physical IOs. The cardinality estimates and thread distribution are also still very good (click to enlarge): A big clue to the reason for the poor performance is shown in the wait statistics (captured by Plan Explorer Pro): CXPACKET waits require careful interpretation, and are most often benign, but in this case excessive waiting occurs at the repartitioning exchanges. Unlike the parallel hash join, the repartitioning exchanges in this plan are order-preserving ‘merging’ exchanges (because merge join requires ordered inputs): Parallelism works best when threads can just grab any available unit of work and get on with processing it. Preserving order introduces inter-thread dependencies that can easily lead to significant waits occurring. In extreme cases, these dependencies can result in an intra-query deadlock, though the details of that will have to wait for another time to explore in detail. The potential for waits and deadlocks leads the query optimizer to cost parallel merge join relatively highly, especially as the degree of parallelism (DOP) increases. This high costing resulted in the optimizer choosing a serial merge join rather than parallel in this case. The test results certainly confirm its reasoning. Collocated Joins In SQL Server 2008 and later, the optimizer has another available strategy when joining tables that share a common partition scheme. This strategy is a collocated join, also known as as a per-partition join. It can be applied in both serial and parallel execution plans, though it is limited to 2-way joins in the current optimizer. Whether the optimizer chooses a collocated join or not depends on cost estimation. The primary benefits of a collocated join are that it eliminates an exchange and requires less memory, as we will see next. Costing and Plan Selection The query optimizer did consider a collocated join for our original query, but it was rejected on cost grounds. The parallel hash join with repartitioning exchanges appeared to be a cheaper option. There is no query hint to force a collocated join, so we have to mess with the costing framework to produce one for our test query. Pretending that IOs cost 50 times more than usual is enough to convince the optimizer to use collocated join with our test query: -- Pretend IOs are 50x cost temporarily DBCC SETIOWEIGHT(50);   -- Co-located hash join SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID OPTION (RECOMPILE);   -- Reset IO costing DBCC SETIOWEIGHT(1); Collocated Join Plan The estimated execution plan for the collocated join is: The Constant Scan contains one row for each partition of the shared partitioning scheme, from 1 to 41. The hash repartitioning exchanges seen previously are replaced by a single Distribute Streams exchange using Demand partitioning. Demand partitioning means that the next partition id is given to the next parallel thread that asks for one. My test machine has eight logical processors, and all are available for SQL Server to use. As a result, there are eight threads in the single parallel branch in this plan, each processing one partition from each table at a time. Once a thread finishes processing a partition, it grabs a new partition number from the Distribute Streams exchange…and so on until all partitions have been processed. It is important to understand that the parallel scans in this plan are different from the parallel hash join plan. Although the scans have the same parallelism icon, tables T1 and T2 are not being co-operatively scanned by multiple threads in the same way. Each thread reads a single partition of T1 and performs a hash match join with the same partition from table T2. The properties of the two Clustered Index Scans show a Seek Predicate (unusual for a scan!) limiting the rows to a single partition: The crucial point is that the join between T1 and T2 is on TID, and TID is the partitioning column for both tables. A thread that processes partition ‘n’ is guaranteed to see all rows that can possibly join on TID for that partition. In addition, no other thread will see rows from that partition, so this removes the need for repartitioning exchanges. CPU and Memory Efficiency Improvements The collocated join has removed two expensive repartitioning exchanges and added a single exchange processing 41 rows (one for each partition id). Remember, the parallel hash join plan exchanges had to process 5 million and 15 million rows. The amount of processor time spent on exchanges will be much lower in the collocated join plan. In addition, the collocated join plan has a maximum of 8 threads processing single partitions at any one time. The 41 partitions will all be processed eventually, but a new partition is not started until a thread asks for it. Threads can reuse hash table memory for the new partition. The parallel hash join plan also had 8 hash tables, but with all 5,000,000 build rows loaded at the same time. The collocated plan needs memory for only 8 * 125,000 = 1,000,000 rows at any one time. Collocated Hash Join Performance The collated join plan has disappointing performance in this case. The query runs for around 25,300ms despite the same IO statistics as usual. This is much the worst result so far, so what went wrong? It turns out that cardinality estimation for the single partition scans of table T1 is slightly low. The properties of the Clustered Index Scan of T1 (graphic immediately above) show the estimation was for 121,951 rows. This is a small shortfall compared with the 125,000 rows actually encountered, but it was enough to cause the hash join to spill to physical tempdb: A level 1 spill doesn’t sound too bad, until you realize that the spill to tempdb probably occurs for each of the 41 partitions. As a side note, the cardinality estimation error is a little surprising because the system tables accurately show there are 125,000 rows in every partition of T1. Unfortunately, the optimizer uses regular column and index statistics to derive cardinality estimates here rather than system table information (e.g. sys.partitions). Collocated Merge Join We will never know how well the collocated parallel hash join plan might have worked without the cardinality estimation error (and the resulting 41 spills to tempdb) but we do know: Merge join does not require a memory grant; and Merge join was the optimizer’s preferred join option for a single partition join Putting this all together, what we would really like to see is the same collocated join strategy, but using merge join instead of hash join. Unfortunately, the current query optimizer cannot produce a collocated merge join; it only knows how to do collocated hash join. So where does this leave us? CROSS APPLY sys.partitions We can try to write our own collocated join query. We can use sys.partitions to find the partition numbers, and CROSS APPLY to get a count per partition, with a final step to sum the partial counts. The following query implements this idea: SELECT row_count = SUM(Subtotals.cnt) FROM ( -- Partition numbers SELECT p.partition_number FROM sys.partitions AS p WHERE p.[object_id] = OBJECT_ID(N'T1', N'U') AND p.index_id = 1 ) AS P CROSS APPLY ( -- Count per collocated join SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals; The estimated plan is: The cardinality estimates aren’t all that good here, especially the estimate for the scan of the system table underlying the sys.partitions view. Nevertheless, the plan shape is heading toward where we would like to be. Each partition number from the system table results in a per-partition scan of T1 and T2, a one-to-many Merge Join, and a Stream Aggregate to compute the partial counts. The final Stream Aggregate just sums the partial counts. Execution time for this query is around 3,500ms, with the same IO statistics as always. This compares favourably with 5,000ms for the serial plan produced by the optimizer with the OPTION (MERGE JOIN) hint. This is another case of the sum of the parts being less than the whole – summing 41 partial counts from 41 single-partition merge joins is faster than a single merge join and count over all partitions. Even so, this single-threaded collocated merge join is not as quick as the original parallel hash join plan, which executed in 2,600ms. On the positive side, our collocated merge join uses only one logical processor and requires no memory grant. The parallel hash join plan used 16 threads and reserved 569 MB of memory:   Using a Temporary Table Our collocated merge join plan should benefit from parallelism. The reason parallelism is not being used is that the query references a system table. We can work around that by writing the partition numbers to a temporary table (or table variable): SET STATISTICS IO ON; DECLARE @s datetime2 = SYSUTCDATETIME();   CREATE TABLE #P ( partition_number integer PRIMARY KEY);   INSERT #P (partition_number) SELECT p.partition_number FROM sys.partitions AS p WHERE p.[object_id] = OBJECT_ID(N'T1', N'U') AND p.index_id = 1;   SELECT row_count = SUM(Subtotals.cnt) FROM #P AS p CROSS APPLY ( SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals;   DROP TABLE #P;   SELECT DATEDIFF(Millisecond, @s, SYSUTCDATETIME()); SET STATISTICS IO OFF; Using the temporary table adds a few logical reads, but the overall execution time is still around 3500ms, indistinguishable from the same query without the temporary table. The problem is that the query optimizer still doesn’t choose a parallel plan for this query, though the removal of the system table reference means that it could if it chose to: In fact the optimizer did enter the parallel plan phase of query optimization (running search 1 for a second time): Unfortunately, the parallel plan found seemed to be more expensive than the serial plan. This is a crazy result, caused by the optimizer’s cost model not reducing operator CPU costs on the inner side of a nested loops join. Don’t get me started on that, we’ll be here all night. In this plan, everything expensive happens on the inner side of a nested loops join. Without a CPU cost reduction to compensate for the added cost of exchange operators, candidate parallel plans always look more expensive to the optimizer than the equivalent serial plan. Parallel Collocated Merge Join We can produce the desired parallel plan using trace flag 8649 again: SELECT row_count = SUM(Subtotals.cnt) FROM #P AS p CROSS APPLY ( SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals OPTION (QUERYTRACEON 8649); The actual execution plan is: One difference between this plan and the collocated hash join plan is that a Repartition Streams exchange operator is used instead of Distribute Streams. The effect is similar, though not quite identical. The Repartition uses round-robin partitioning, meaning the next partition id is pushed to the next thread in sequence. The Distribute Streams exchange seen earlier used Demand partitioning, meaning the next partition id is pulled across the exchange by the next thread that is ready for more work. There are subtle performance implications for each partitioning option, but going into that would again take us too far off the main point of this post. Performance The important thing is the performance of this parallel collocated merge join – just 1350ms on a typical run. The list below shows all the alternatives from this post (all timings include creation, population, and deletion of the temporary table where appropriate) from quickest to slowest: Collocated parallel merge join: 1350ms Parallel hash join: 2600ms Collocated serial merge join: 3500ms Serial merge join: 5000ms Parallel merge join: 8400ms Collated parallel hash join: 25,300ms (hash spill per partition) The parallel collocated merge join requires no memory grant (aside from a paltry 1.2MB used for exchange buffers). This plan uses 16 threads at DOP 8; but 8 of those are (rather pointlessly) allocated to the parallel scan of the temporary table. These are minor concerns, but it turns out there is a way to address them if it bothers you. Parallel Collocated Merge Join with Demand Partitioning This final tweak replaces the temporary table with a hard-coded list of partition ids (dynamic SQL could be used to generate this query from sys.partitions): SELECT row_count = SUM(Subtotals.cnt) FROM ( VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10), (11),(12),(13),(14),(15),(16),(17),(18),(19),(20), (21),(22),(23),(24),(25),(26),(27),(28),(29),(30), (31),(32),(33),(34),(35),(36),(37),(38),(39),(40),(41) ) AS P (partition_number) CROSS APPLY ( SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals OPTION (QUERYTRACEON 8649); The actual execution plan is: The parallel collocated hash join plan is reproduced below for comparison: The manual rewrite has another advantage that has not been mentioned so far: the partial counts (per partition) can be computed earlier than the partial counts (per thread) in the optimizer’s collocated join plan. The earlier aggregation is performed by the extra Stream Aggregate under the nested loops join. The performance of the parallel collocated merge join is unchanged at around 1350ms. Final Words It is a shame that the current query optimizer does not consider a collocated merge join (Connect item closed as Won’t Fix). The example used in this post showed an improvement in execution time from 2600ms to 1350ms using a modestly-sized data set and limited parallelism. In addition, the memory requirement for the query was almost completely eliminated  – down from 569MB to 1.2MB. The problem with the parallel hash join selected by the optimizer is that it attempts to process the full data set all at once (albeit using eight threads). It requires a large memory grant to hold all 5 million rows from table T1 across the eight hash tables, and does not take advantage of the divide-and-conquer opportunity offered by the common partitioning. The great thing about the collocated join strategies is that each parallel thread works on a single partition from both tables, reading rows, performing the join, and computing a per-partition subtotal, before moving on to a new partition. From a thread’s point of view… If you have trouble visualizing what is happening from just looking at the parallel collocated merge join execution plan, let’s look at it again, but from the point of view of just one thread operating between the two Parallelism (exchange) operators. Our thread picks up a single partition id from the Distribute Streams exchange, and starts a merge join using ordered rows from partition 1 of table T1 and partition 1 of table T2. By definition, this is all happening on a single thread. As rows join, they are added to a (per-partition) count in the Stream Aggregate immediately above the Merge Join. Eventually, either T1 (partition 1) or T2 (partition 1) runs out of rows and the merge join stops. The per-partition count from the aggregate passes on through the Nested Loops join to another Stream Aggregate, which is maintaining a per-thread subtotal. Our same thread now picks up a new partition id from the exchange (say it gets id 9 this time). The count in the per-partition aggregate is reset to zero, and the processing of partition 9 of both tables proceeds just as it did for partition 1, and on the same thread. Each thread picks up a single partition id and processes all the data for that partition, completely independently from other threads working on other partitions. One thread might eventually process partitions (1, 9, 17, 25, 33, 41) while another is concurrently processing partitions (2, 10, 18, 26, 34) and so on for the other six threads at DOP 8. The point is that all 8 threads can execute independently and concurrently, continuing to process new partitions until the wider job (of which the thread has no knowledge!) is done. This divide-and-conquer technique can be much more efficient than simply splitting the entire workload across eight threads all at once. Related Reading Understanding and Using Parallelism in SQL Server Parallel Execution Plans Suck © 2013 Paul White – All Rights Reserved Twitter: @SQL_Kiwi

    Read the article

  • Windows 7 boot from downloaded .iso

    - by Travis
    Downloaded Windows 7 .iso off the net and want to install from USB key on old laptop (previously/still running XP) that has no CD/DVD drive. Here's what I've got so far: Read the instructions in this post: http://kmwoley.com/blog/?p=345 , which were quite straight forward and clear. Properly formatted USB key with another laptop (this one running vista), also with no DVD drive wasn't sure how to make the USB bootable, since my .iso was downloaded and I have no DVD drive. Any help would be much appreciated!!

    Read the article

  • Is there an eSATA Stick?

    - by jasondavis
    My new PC I just finished building has USB 3.0 support as well as eSATA. So this has me wondering, I use a USB stick/thumb drive all the time on my PC for stuff, is there an equivalent available anywhere for USB 3.0 or even eSATA?

    Read the article

  • Options for connecting an external disk to an old laptop

    - by agnul
    I've tried connecting a 2.5" external drive to an old laptop which has only USB 1. The LED on the disk lights up, but the disk doesn't seem to spin up. Since the same disk works fine on a newer laptop my guess is that the old one doesn't output enough power on the USB port. Besides looking for an external drive with its own PSU, what would you suggest? Will one of those USB cables with two connectors work? What about a powered USB hub?

    Read the article

  • How to make Windows 7 use the internet connection that I specify

    - by user138957
    I have a LAN adapter and a USB wireless internet connection. When both connected windows 7 always uses the USB. I tried changing the metric values but no luck. Let me explains the steps I took. Currently automatic metric on all adapters. LAN connected. ipconfig shows that it is connected to the correct ip/dns/gateway etc. IPv4 Route table shows Metric 24 Then connected USB. ipconfig shows USB connectivity then LAN in that order. Internet is now through USB. IPv4 Route table shows Metric 4249 for LAN and USB is 41. Gateway for USB shows "on-link". netstat -rn shows USBDEVICE on top. Changed LAN metric to 5 and now the route table shows LAN as 9 (not sure why it added 4) and USB as 41. netstat shows LAN then USB. ipconfig shows LAN then USB. But still connection is through USB. How do I know? Task manager shows utilization only through USB as well as speed is showing around 1mbps rather than LANs 10mbps. How can I get win7 use LAN while USB is connected. I am just trying to use USB as a backup just in case I lose LAN connection. Please help!! I thought i will make USB metric manually to say 10. But it says I have to reconnect for it to be effective. Currently USB still shows below LAN and still has 9 and 41 in the table. Disconnected USB. Table shows LAN metric as 24 (Not sure why it got changed from 9 and setting got reverted by to automatic) Reconnected USB. Now in the setting still shows 10 and the route table shows 11 for USB and LAN shows 4249 (settings shows 4245, 4 less)) For some reason restarting USB is resetting LAN setting when reconnected. Thanks

    Read the article

  • Usb WiFi dongle pluggin in doesnt create wlan0 interface

    - by zuba
    I use D-Link DWA-110 WiFi usb dongle. It used to be working well, but after some config changes I broke something and now when I plug the dongle in I see it in lsusb output, but wlan0 isn't created and the led on the dongle doesn't light. What to check out? ~ > uname -a Linux Distress 3.2.0-56-generic #86-Ubuntu SMP Wed Oct 23 17:31:43 UTC 2013 i686 i686 i386 GNU/Linux dmesg shows [ 667.824095] usb 1-8: new high-speed USB device number 6 using ehci-pci [ 668.117996] usb 1-8: New USB device found, idVendor=07d1, idProduct=3c07 [ 668.118007] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 668.118015] usb 1-8: Product: 802.11 bg WLAN [ 668.118021] usb 1-8: Manufacturer: Ralink

    Read the article

  • How to create a Windows 7 installation usb media from linux ? (to install Windows 7) - Help need to know better method

    - by Abel Coto
    I have been reading some web pages and posts here and in other forums about how to create a Windows 7 installation Usb media (to install windows 7 using a usb) from linux. I asked in technet about this , and they give me general ideas about how to do it I personally am not very familiar with linux, but basicaly all that you need to do... in whatever way you do it is the following: Format a usb flash drive, either fat32 or ntfs create a partition that is large enough to host the windows installation (give or take 3GB for 64bit, aroudn 2.5gb for 32bit) and mark that partition as active/bootable. Since this can be done with windows, but just as well with a tool like gparted, you should be able to do the same in debian. Once you have created that partition, mount the iso that you download, and copy all files starting from the root, into the root of the usb flash drive. That's all there's to it. There is a method that i found in various places,that is almost the same that the man of technet has said. But,there is a step,that in that method is done,that i don't know if it is really necessary,or not. Not allways dd works.Basically, the missing step was to write a proper boot sector to the usb stick, which can be done from linux with ms-sys. This works with the Win7 retail version. Here is the complete rundown again: Install ms-sys Check what device your usb media is asigned - here we will assume it is /dev/sdb. Delete all partitions, create a new one taking up all the space, set type to NTFS, and set it bootable: *# cfdisk /dev/sdb* Create NTFS filesystem: *# mkfs.ntfs -f /dev/sdb1* Mount iso and usb media: *# mount -o loop win7.iso /mnt/iso # mount /dev/sdb1 /mnt/usb* Copy over all files: *# cp -r /mnt/iso/* /mnt/usb/* Write Windows 7 MBR on usb stick: *# ms-sys -7 /dev/sdb* ...and you're done. Shouldn't the usb work without doing the last step "# ms-sys -7 /dev/sdb" or to make the usb bootable , is a must , not only to mark the partition as bootable ? Would be better use rsync instead of cp -r ? All this steps should be done as root, i suppose , or if not , chmod to 664 and chown the directories where are mounted the usb and the iso, no ? But i suppose that the easier thing is to copy the data as root , and that this will not affect to the data. Has anyone tried this method or some similar like copying the iso with dd ?

    Read the article

  • Getting USB boot to work in SmartOS on HP ProLiant N40L

    - by user126579
    I recently downloaded SmartOS and tried running it on my HP ProLiant N40L, but it always fails on boot. After dd'ing the image to the USB stick, I plug it into the internal USB header and turn the machine on. After selecting from GRUB, it displays the following: , bss=0x0 It sits there for 2-4 minutes, then finally boots the OS and displays the following: WARNING: Couldn't read ACPI SRAT table from BIOS. lgrp support will be limited to one group. SunOS Release 5.11 Version joyent_20120614T184600Z 64-bit Copyright (c) 2010-2012, Joyent Inc. All rights reserved. WARNING: kvm: no hardware support After that, it hangs. I've tried this with two different USB sticks. I've seen some mentions on the SmartOS website about people running it on an N40L, booting from USB, so maybe it's just broken hardware? Has anyone gotten this working?

    Read the article

  • SpinRite and USB blues - does a solution exist?

    - by Peter Mortensen
    I use SpinRite to recover hard disks and their content, and to a lesser degree for preventive maintenance. However, if a USB drive (USB thumb drive and/or external hard disk with a USB interface) is connected when SpinRite scans for devices, then SpinRite never finishes/hangs. The work-around is of course to disconnect the drive, but there is value in being able to use SpinRite on USB drives. Some external drives have no screws and it is difficult to take out the hard disk without damaging the casing. And for those that have it would save the disassembling time. Is there a way to fix this problem (e.g. BIOS changes or a modified SpinRite boot CD) without resorting to floppy disks?

    Read the article

  • UBUNTU Desktop Installation 9.10 via USB (boot)

    - by user277980
    i have made a live boot usb using UnetBootIn tool for ubuntu desktop 9.10 , i have windows xp sp2 installed as primary os and i want to make a partition for ubuntu but when i try to boot it via usb , it just goes to boot menu of ubuntu , then i enter the default type for installation after that nothing happens , just the ubuntu logo showed up and just that nothing happens after that , i can try the simpler task also i.e.via cd install but i want to know what's not working with this usb boot method Thnx n Advance

    Read the article

  • Does any know fix/cause of USB drives that lose connection

    - by Burch Kealey
    I have been having significant problems trying to copy files to a USB drive (G0-Flex 1.5 tb) No matter what I use to try to copy the files (python code, Windows copy and paste or Drobo Copy utility) I ultimately get a failure. The failure is always some indication that the device is not ready or able to be written to. I am pretty sure the problem is that the drive is losing its connection. I have done everything I can find so far including setting the USB Root hub to never turn off the power, I updated some usb drivers etc. I have found references to this problem primarily with Win7-64 bit. I have also had USB connection problems with other devices- we kept losing a connection to our Bravo Disc Publisher when we went to Win7 and finally bought a newer model and have not had problems since. Any pointers about diagnosing and or understanding the problem would be appreciated.

    Read the article

  • Kickstart installation from USB -- Kickstart location

    - by dooffas
    After managing to get a Fedora ISO to rebuild successfully (for a USB stick) after adding a kickstart file (http://serverfault.com/questions/548405/), I now have an issue with locating the kickstart file on the USB media. When this is done from a CDROM you can simply kickckstart by adding this parameter to boot: linux ks=cdrom This will kickstart (providing the kickstart file is named ks.cfg and is in the root of the disk). Now, obviously this will be different for the USB drive, so from my research, I assumed that this line would do the job: linux ks=hd:sdb1:/ks.cfg Evidently this does not work. I get an error informing me this drive is already mounted and cannot be remounted. EDIT: Actual error message: mount: /dev/sdb1 is already mounted or /run/install/tmpmnt0 busy Warning: Can't get kickstart from /dev/sdb1:/ks.cfg To test that the syntax was correct I placed the kickstart file on another USB stick and loaded the same command to grab ks.cfg from the new location: linux ks=hd:sdc1:/ks.cfg This does work (providing USB sticks are mounted in order, boot - sdb1, kickstart - sdc1). The install will kickstart and complete the install with no issue. Obviously having to use 2 pen drives is somewhat frustrating and unreliable. Is there a way around this?

    Read the article

  • Installing Windows XP sp3 into USB 2.0 WD 320Gb Hard Drive

    - by NetKabuki
    I have a HP laptop with support for 3 USB 2.0 ports. I also have a clean 320Gb WD USB 2.0 drive. The HP can boot from USB (Bios options). I used the install disk (XP SP3 bootable) and after a few stutters, was actually able to load up a partition on the 320Gb drive with Windows. I cannot consistently get the system to boot up off the USB drive. I am able to drop Ubuntu on that same WD drive and boot up. I can even get Grub2 on Ubuntu to recognize the Win OS. But booting the Win OS is an impossible task. What can I do differently - if anything?

    Read the article

  • Security and data backup for Ubuntu usb installation

    - by AMS949
    Due to encryption on my corporate laptop I opted to install Ubuntu 9.10 on a flash drive and just use it as my hard drive. I tried the vmware but it crashed my xp a couple of times. Now I have a couple of concerns since I am totally new to Ubuntu and Linux. First, would it be possible for me to transfer my installation to a new usb drive? I now have a 4gb and it may get filled up soon, I don't seem to be able to see my actual files when I browse the usb drive. I also tried copying all files from this usb to another and boot from it but that failed. Second, whenever the system boots up I am never prompted for a password, it is always the username ubuntu. Which I guess means if I lose my usb drive my data is open wide. Is there a way to secure it or to use users and groups as on a regular hard drive installation? As a background, I created this by going into a working Ubuntu installation, System - Administration - USB Starter Disk Creator (was that the right way to start with?) Thanks!

    Read the article

  • HID USB Very Strange Problem...

    - by Lasanha
    I realy hope some one can help me here cause i search all over the web and nothing comes up.. I allways used PS/2 KB and Mouse and a USB KeyPad (Genius ErgoMedia 500 Gaming Explorer) to play some games, mmorpg, fps, you named, very good whit 11 keys whit possible macros etc etc... Now it comes the problem, i have a USB mouse that have 4 extra buttons, and i need more button, i love buttons.. Well, i plug in the USB mouse and disconectes de PS/2. Everything is ok until i toutch the mouse. If i do so, the ErgoMedia goes off, then on, then i mouse the mouse or press a button and all over again. Yesterday i went buying a new mouse that i liked, a USB mouse too (NPlay whit macros and all that stuff 3600dpi...) Hoping the problem was only whit the other mouse, but no.. It does the exact same thing, ErgoMedia keeps disconecting and conecting everytime i toutch the mouse. What i allready did: Update drivers of both mouses Update drivers of ErgoMedia (no specific drivers(Windows based)) Update drivers of MB Chipset (Actualy no, cause it was up to date allready) Trying other USB Ports (4 Ports back, 4 Ports Front and even 1 Port in 16 card slot device) Disable the "Allows Windows to shut down the energy bla bla" thing in Device Setings. Look up in the Device Setings only apear a problem on the ergomedia (Human interface Device) when i move the damm mouse.. Using Everest to read behavier, everything normal, exepts the disconecting thing, but no errors. Not a power suply, only the ErgoMedia and the mouse are in the USBs, and i allready disable the 16 card reader whit one usb slot to see.. Clean the IRQ registry. Look the entire internet for a fix solution. Help others problems wile looking for a fix for me (Im not a pro but not a completly stupid) Talking to you beggin you to help me as a last resorce... Machine: Acer M3641 Core2Quad 64x Based OS Vista 64b 4GbRAM HD Audio and Graphics I realy hope some one out there knows a fix for this, maybe it´s a simple thing, so simple that i´m to stupid to see that.. Sorry for my bad inglish but i write lot of erros even in my language. Any help will be very welcome. Tanks for ur concern and atention ^^

    Read the article

< Previous Page | 20 21 22 23 24 25 26 27 28 29 30 31  | Next Page >