Parallel.For With Nested Loops Causing Inconsistent Iterations?
Dec 23, 2010
I'm trying to implement parallel computing using .NET 4 on an asp.net website housed on a clustered server consisting of 6-8 dual core servers. My original script contains two nested For...Next loops iterating through a range of values in a grid of x by y.
For each point in the grid (x,y), we should perform a computationally intensive subroutine called MakePartsMatrix which accesses a SQL server database with dataviews and manipulating the local variable "unfilled" which is passed in ByRef.
Without the parallel implementation, the nested for loops work fine except its slow -- taking about 60 seconds to run.
When I parallelize the outer For loop, the script is about 50% faster, completing its calculations in 20-30 seconds which is great. However, I have noticed that the parallelization causes random parts of the grid to be either completely skipped (eg, grid (1,5) is never evaluated by the MakePartsMatrix), or some points in the grid (eg, x=10 & y=5) to be evaluated multiple times, resulting in duplicate work.
When I parallelized only the inner For Loop, the script execution time also improves by 50%, but now the last row (y-1) in the grid is skipped entirely and the results in "unfilled" are completely wrong.
When I comment out the "MakePartsMatrix" subroutine, the parallellization (either inner or outer For loops) does appear to visit every point of the grid (x,y) once, and only once.
Dim ConcurrentListofResults As ConcurrentQueue(Of FindBestResults)
ConcurrentListofResults = New ConcurrentQueue(Of FindBestResults)
Dim FBSResultsItem As FindBestResults
[Code].....
View 11 Replies
ADVERTISEMENT
Jan 11, 2011
Im trying to learn how to use a Parallel.For loop. Ive got a big for loop, that i need to run parallel, and am trying to use a Parallel.For loop for the first time. When I try using this code, I get that it cant be called using these arguments. The old way to write this would be:[code]I dont need to return anything to the for loop, Im just trying to iterate m, running in parallel. Where am I going wrong?
View 5 Replies
Feb 2, 2009
How do you do nested recordset loops in ADO.NET? In ADO, you could just open one firehose cursor for the outer loop and a static, client-side, read-only cursor for the inner loop and nest the loops. But you can only open one DataReader at a time and Datasets aren't read-only.
'Classic ADO Code
Dim rsOuter as New ADODB.Recordset
Dim rsInner as New ADODB.Recordset
[code]....
View 1 Replies
Nov 4, 2011
how to create this sequence using a for loop and/or nested for loops?
1
2
3
[Code].....
View 2 Replies
Feb 2, 2012
I'd like to be able to do something like this:
Dim newdata(,) As String = New String(,) { _
{"foo", "bar"}, _
{"fum", "baz"} _
[code]....
If I change the outer loop to:
For Each str() As String In newdata
It builds ok but I don't get what I want. The outer loop process the elements of newdata as a 1d array and the inner loop sees each character of the strings from the outer loop.So...is there a way to use the for each structure and process a 2d string array? If so, what should I change? If not, what is the best alternative?
View 18 Replies
Oct 12, 2009
I am trying to write a program that using a nested do while loop and If/If Else statement to draw a shape, and also using a nested do until and If/ElseIf statement to draw another shape.
View 18 Replies
Jun 23, 2010
Today is not one of those days. I know there is an elegant solution to this problem, but I cannot see the endgame. Does anyone have any tips for making this snippet more elegant? It's a very basic example, but one that I think is common programming challenge. If I have unknown number of lists of string variables of unknown length (It is unknown to me until runtime), how can I use just one loop or a loop plus a nested loop to create a matrice of the values?Easy to re-create. Create a VB.NET Form application, drag over two richtext boxes and a button, then paste this into the form class
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
[code].....
View 8 Replies
Apr 1, 2009
I want to write two nested loops and inside them "two if statements" when I write an Else statement which has a messagebox saying that ID is not found.. it repeated many times depending on the for loops. I only want to be displayed once !!! but when I wrote my code like this (using exit sub), the message appears when the condition is right and appears when the condition is wrong. I tried to move this statement somewhere else but still I have problems with it.
With EMPDataSet
For I = 0 To .Personal.Rows.Count - 1
For j = 0 To .Work.Rows.Count - 1
If EMP_CPR = .Personal.Rows(I).Item("CPR") Then
txtName.Text = .Personal.Rows(I).Item("Full_Name")
[Code] .....
View 8 Replies
May 27, 2010
I constantly find myself having to do code similar to the following.[code]Is there anyway to check for both on a single line? When i'm checking a condition for a great number of answers, I sometimes end up with conditionals 6-sets deep. If i check for null first, an error still pops up, even though VB shouldn't check since the first condition failed. i.e.[code]
View 8 Replies
May 16, 2010
I have an arraylist of a "Doctor" class containing Firstname, Lastname,etc. Some elements in this arraylist may be duplicates of others. I am trying to iterate through the arraylist and search for duplicates. Once i find a duplicate i want BOTH duplicates put into another array and removed from the original array.
here is my function
Public Function createArrayOfDuplicatesAndRemove(ByVal st As ArrayList)
Dim duplicates As New ArrayList()
Dim i, j As Integer
[code]....
How could something be out of range if i start at the end and work to the front?
View 5 Replies
Dec 7, 2011
I am trying to code something with nested for loop with the following format:
[CODE]...........
However when the program hits the last value of 'For loop 1', the nested for loops seem to only trigger once instead of the number of times that i specified.
Private Sub populatedgv1()
'setup temptable to store Server data
Dim m_table As New DataTable
[CODE]........................
View 7 Replies
Jun 29, 2010
I'm trying to use a nested multi-line lambda Function in VB.NET and am getting an error. Here's what my code looks like:
cartItems = cartItems.Select(Function(ci) New With {.CartItem = ci, .Discount = discountItems.FirstOrDefault(Function(di) di.SKU = ci.SKU)})
.Select(Function(k)
If k.Discount Is Not Nothing Then
[code]....
View 2 Replies
May 11, 2012
So I have some vb.net code, and I have a nested For loop inside a For loop, and then I have EXIT FOR statement, will it break out of one loop, or the whole chain?
View 2 Replies
Jan 16, 2012
I have a service that scans network folders using a parallel.for method. However recently I am finding if I stop the service then while windows says the service is stopped the process is still running in task manager. However it is at 0 cpu and the memory does not change. If I try and end the task (even a force in command prompt) it just says access denied and i have to reboot the server. What would be the best way to make sure everything terminates? I thought of adding a global Boolean that in the stop procedure it turns true and part of my parallel code will check for that and call s.stop.
View 1 Replies
Oct 8, 2011
the purpose of the program is to display the monthly payments on the loan.My homework is to use do while loops instead of for loop.Here is the code for the for loop.
Option Explicit On
Option Strict On
Option Infer Off
[code].....
Now I'm having some trouble displaying the output using the do while loop, and I'm pretty sure it's a loop problem on my code. However, I cannot seemed to find out what's wrong. I looked at the examples of do while loop in my textbook, but I couldn't find anything useful to my problems of my program.This is the output for the do while loop.
Here's the do while loop code
Option Explicit On
Option Strict On
Option Infer Off
[code].....
View 3 Replies
Mar 16, 2012
These 2 ways of working both work, but I'm wondering if there's a difference in performance:
Dim collection As ItemCollection = CType(CellCollection.Where(Function(i) i.IsPending = True), ItemCollection)
For Each item As Item In collection
'Do something here
Next
and
For Each item As Item In CellCollection.Where(Function(i) i.IsPending = True)
'Do something here
Next
I thought the second one was better as you'd have a variable less and looks cleaner, but on second thought, I'm not quite sure what happens when you put a linq query in the iteration.
View 3 Replies
Jul 14, 2010
I know how to run through iterations using a counter. In my current application I need to iterate throughspecific users from a table, get however many rows are there for that user, write a table and email message (table and
View 1 Replies
Mar 6, 2011
When I use a For loop in a For loop the Contains Statement dosen't work! Even my custom one! I even tested mine and it works 100% And neither that or the String.Contains function work inside of For Loops And, I know both of them use loops to search through a string.
My function(It will atleast search once):
Function RealContains(ByVal load As String, ByVal needle As String) As Boolean
load = load.ToLower
[CODE].....................
View 10 Replies
Jan 14, 2011
I am trying to loop through an array and perform an httpwebrequest in each iteration. The code seems to work, however it pauses for a while (eg alot longer than the set timeout. Tried setting that to 100 to check and it still pauses) after every 10 or so iterations, then carries on working.
Here is what I have so far:
For i As Integer = 0 To numberOfProxies - 1
Try
'create request to a proxyJudge php page using proxy
Dim request As HttpWebRequest = HttpWebRequest.Create("[URL]")
request.Proxy = New Net.WebProxy(proxies(i)) 'select the current proxie from the proxies array
request.Timeout = 10000 'set timeout
[Code] .....
I have tried a using block, eg:
Using response As HttpWebResponse = request.GetResponse()
Using sr As StreamReader = New StreamReader(response.GetResponseStream())
Dim pageSourceCode As String = sr.ReadToEnd()
'check the downloaded source for certain phrases, each identifies a type of proxy
[Code] .....
Does the try catch statement automatically close the response, or do I need to put something in Finally? If so, what? i cant use response.close() because its declared in the try block.
View 2 Replies
Oct 20, 2011
I need to loop the "buttonOneClick for one second iterations. The program will send a "P" character, wait one second, send a p, wait one second, etc... Also I need to write the information it receives to an excel spreadsheet.
Here's what I have:
Public Class Form2
Dim buttonOnePush As Boolean = False
Dim buttonTwoPush As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Send strings to a serial port.
[Code] .....
View 1 Replies
Jun 24, 2009
I am using VB2008 express edition. I have this code:
'Age = 3 Iterations
Age = 3
Dim Myarray1(2, 3) As Integer
[Code].....
View 1 Replies
Sep 24, 2010
so far i got
code
For Each item As Reflection.FieldInfo In GetType(NameSpace.ClassWithNestedClasses).GetFields
rtfAppend(item.Name & ":" & Tab & item.GetValue(Me))
Next
For Each item As Reflection.PropertyInfo In GetType(NameSpace.ClassWithNestedClasses).GetProperties()
[code]...
which gets me the simple string vars and properties of my top class, but how can i apply this to loop through all sub classes and get there vars and props?
View 1 Replies
Sep 12, 2011
I have an application which was developed in vs2005 with numerous forms which use the combobox for selecting from lists of items. The usual setup is as follows:
Combo.Datsource = BusinessObject
Combo.DropdownStyle = DropDownList
Combo.AutoCompleteMode = SuggestAppend
Combo.AutoCompleteSource = ListItems
However, compiled under vs2005 when tabbing to a combo and typing a number of characters the combo would highlight the first matching item and on pressing tab, would select it and the user would move to next field.
With vs2008 the same item might be highlighted but pressing tab doesn't select the item unless its the only item matching the first character. The only way of selecting the item highlighted from the suggestappend is to press enter prior to the tab key.
I also noticed some users experiencing the same behaviour when the app was compiled with vs2005 on some PC's but not others as if it had something to do with the PC config.
Has anyone any ideas how to get around this as it can lead to errors in data capture.
Kind regards.
View 8 Replies
Jul 8, 2010
Does anyone know if there's any particular reason that VB.NET construct syntax isn't consistent? For example:
If End If Select End Select You'd assume it would be for... end for, while... end while ... but instead we have:While.Wend For Next This has mildly frustrated me for a while, and I just got to wondering whether there was any conscious decision behind it. Or was it just an initial not-so-well-thought-out design decision that can no longer be changed because of backwards compatibility problems?
View 3 Replies
May 21, 2010
Why might my GetRawData declared function return a correct value when called from my VB.NET application, but return zero when called from my ASP.NET page?The code is exactly the same except for class type difference (Form / Page) and calling event handler (Form1_Load, Page_Load).
Note: In the actual code, #DLL# and #RAWDATAFILE# are both absolute filenames to my DLL and raw data file respectively.
Note: The DLL file was not created by Visual Studio.
Form1.vb
Public Class Form1
Declare Auto Function GetRawData Lib "#DLL#" (ByVal filename() As Byte, _
ByVal byteArray() As Byte, _
[code]....
View 3 Replies
Jan 18, 2012
Look at this simple bug :
<textblock (...) Width="0" />
Working great, the textBox appears to be 0px thin. Works with value like, 2, 3, 4...
Now that is NOT working :
<TextBlock (...) />
<TextBlock.Width>
<MultiBinding Converter="{StaticResource WidthConverter}">
[CODE]..................
Why can i set zero value to TextBox.Width in xaml and not in code behind ? By using a converter, when returing 0, the TextBlock.Width is not set to 0 but to "auto", i can read the text
View 1 Replies
May 29, 2010
This works:
Dim zArray(5) As String
zArray = (From zS As String In zArray Select "HelloWorld").ToArray
This doesn't:Dim zArray(5) As String = (From zS As String In zArray Select "HelloWorld").ToArray
It seems inconsistent to me, though I may be missing a subtle difference instead of it being an IDE inconsistency?
View 3 Replies
Dec 10, 2009
I have a treeview with Imagelist assigned to it. I find inconsistent behavior with the Images being displayed in treeview. When I run the app sometimes the images show up and sometimes they don't.
View 4 Replies
Apr 17, 2011
I wrote a software for auto-generating some lines of code. However when I do a copy and paste of that code in a class after reopening it again I confront an Inconsistent Line Ending Erros.[code]...
View 2 Replies
Apr 6, 2009
I've got a contextmenustrip with a couple levels of dropdowns (submenu items). Let's say I right-click the form and show the "main" set of items, one of which is "Food". If I move the mouse over Food (not click it), a dropdown (submenu) for Food should open, which it does. But then, say, one of the food items is "Fruit". When I move the mouse over "Fruit", the Fruit submenu should open automatically - but it does not always - sometimes it does, but sometimes I have to click it to open it. Furthermore, once "Fruit" has been clicked once to open, any other dropdown items (let's say we had "Veggies" and "Meat") will automatically open as I expect; and then "Fruit" will behave as expected also.
Any ideas on how to correct this inconsistent behavior? (i.e. all sets of dropdowns associated with a contextmenuitem should open when the mouse is moved over it, a click should not be required)
View 2 Replies