Search Results

Search found 27232 results on 1090 pages for 'mind mapping software'.

Page 822/1090 | < Previous Page | 818 819 820 821 822 823 824 825 826 827 828 829  | Next Page >

  • Unable to access a registry key

    - by gix
    I wondered why some file associations were broken and stumnled upon a nasty problem: I cannot access the key HKEY_CURRENT_USER\Software\Classes. As you can see above, I cannot view its current permissions, nor its owner (which should by SYSTEM). And no matter what I tried I'm unable to fix it. Trying to change the owner gives me a permission denied (also when trying from the Administrator account). RegDacl, which seemed to help another user, also aborts with a permission denied error. Any suggestions how to repair this? If I cannot repair this I guess I have to dump that user account and create a new one. Are there any "diff-like" tools out there to help copy over registry keys?

    Read the article

  • HDMI connection does not support HDCP

    - by mroggi
    Hi, My problem: error message when playing blu-ray movies stating that the HDCP encryption could not be established. My setup: A new projector (EPSON EMP TW700) with a HDCP-compliant HDMI port a PC with a brand-new graphics adapter (Sapphire HD 4350 512MB DDR2) supporting HDCP Connection made with a DVI cable (it's installed in my wall) and a DVI-HDMI adapter to connect the projector Latest drivers and software My questions: What can I do to establish the HDCP connection? Would it help to use the HDMI output of the graphics adapter instead of the DVI (could it be that the HDCP chip is only supported on HDMI?) Any other ideas? I am very thankful for any hint.

    Read the article

  • Cry Engine 3 vs UDK

    - by Daniele Riccardelli
    I'm new here and I hope that other people may find this question interesting. Me and a bunch of guys from my University are thinking about getting started in game development, but, even though the game design is kind of ready, we are stucked at the point "which Engine should we choose". At first, we were thinking about Unity3D Free, in particular because we are pretty familiar with C# and, even better, it's completely free, but on the other hand there are some cons like no dynamic shadowing that make the realization of our game kinda hard. So, we are thinking about moving either to UDK or Cry Engine, since they are not as expensive as Unity3D Pro (at least before the game deployment) . The thing we are worried the most, though, is that we are kind of scared about the support for team work(i mean, that we might find it hard to coordinate our efforts without software support), since in Unity3D the team features are part of purchasable content, and we are not interested in paying that much for a project we are not even sure we can complete. So, finally, I hope one of you knows the mentioned engines enough to give us a tip telling which one offers better team features and is advisable for guys that have barely worked before on videogames but have good object oriented programming skills. Probably might be helpful for your suggestion, if i say that our game is an exploration game. Thanks to anybody who's going to answer.

    Read the article

  • How to Manage and Use LVM (Logical Volume Management) in Ubuntu

    - by Justin Garrison
    In our previous article we told you what LVM is and what you may want to use it for, and today we are going to walk you through some of the key management tools of LVM so you will be confident when setting up or expanding your installation. As stated before, LVM is a abstraction layer between your operating system and physical hard drives. What that means is your physical hard drives and partitions are no longer tied to the hard drives and partitions they reside on. Rather, the hard drives and partitions that your operating system sees can be any number of separate hard drives pooled together or in a software RAID Latest Features How-To Geek ETC Inspire Geek Love with These Hilarious Geek Valentines How to Integrate Dropbox with Pages, Keynote, and Numbers on iPad RGB? CMYK? Alpha? What Are Image Channels and What Do They Mean? How to Recover that Photo, Picture or File You Deleted Accidentally How To Colorize Black and White Vintage Photographs in Photoshop How To Get SSH Command-Line Access to Windows 7 Using Cygwin How to Kid Proof Your Computer’s Power and Reset Buttons Microsoft’s Windows Media Player Extension Adds H.264 Support Back to Google Chrome Android Notifier Pushes Android Notices to Your Desktop Dead Space 2 Theme for Chrome and Iron Carl Sagan and Halo Reach Mashup – We Humans are Capable of Greatness [Video] Battle the Necromorphs Once Again on Your Desktop with the Dead Space 2 Theme for Windows 7

    Read the article

  • erratic audio levels on windows vista

    - by old retired dude
    I'm somewhat hard of hearing. I've been listening to my windows Vista machine with a pair of headphones so I don't annoy the others. I have 2 issues: 1) the volume varies enormously depending on the source. Having a windows alert occur while I am listening to a DVD or Youtube is a painful experience. Is there a preferred way to set all the different audio controls so I have a more constant volume? I already have lowered the volumes of the windows alerts. 2)Is there a way to limit the volume of my headphones to protect what is left of my hearing? Is there a software solution or should I be going for a hardware limiter? thanks retired dude

    Read the article

  • Installing VirtIO drivers in Windows Server 2008

    - by Stefan K.
    We are running a Windows Server 2008 system as a "guest" on a Linux-KVM virtual server (SLES11, with VirtIO support). We have trouble with the system performance and this is possibly due to not using the VirtIO drivers. I don't have much experience with neither KVM not VirtIO. Just heard it this could be the reason for our problem. Questions: The install examples I just found are describing how to install the drivers during Windows setup. Is it possible to install the VirtIO drivers later? We have running software on that system and would like to avoid reinstalling/setup of all these. I already found a page describing how to sign the drivers, which seems to be needed. A good tutorial page (step by step instructions) would be nice. Is there anything like that out there?

    Read the article

  • Command to see all Windows commands

    - by open_sourse
    When I type help in windows command line, it lists a whole bunch of commands. However I find that there is a whole set of commands that do not appear in this list, for e.g. many networking commands such as ping, tracert, arp, netstat, net etc. I am sure that there is also a whole bunch of non-networking command which is also not listed. So my question is this. Why are these additional commands not shown in help? Is there a subset/group of commands only that help shows? Is there any command/method to list all the commands that can be executed in windows? (I am not talking about additional .exes that get added to path when some new software is installed..)

    Read the article

  • What should I recommend a small company looking for C# developers

    - by Coder
    Here is the issue. I am a senior developer, and one of the start-ups I designed the system (management system/database/web) a long time ago, have grown and need software updates. I have left their system to another developer long time ago, but apparently he has left the job, and so they are asking me if I can suggest them where to find a new one. The problem is that the company has no clue that the IT is not cheap. They expect multiple features to be added for 40$, so that's an issue. Actually one of the reasons why I left the project when I did. Lots of expectations, little pay, also I know those people outside work, so I decided to avoided stressing the nonwork-relationships and left the project gracefully. Today they asked me for an advice, and I told them that the feature list they want is probably going to cost some if they'll get a senior developer for the job. So I guess their best bet is to find someone who loves coding and has just finished the school. Which would give someone a chance to code for money which is good for a student, and at the same time, allow the student to get some hands on experience. Then again, the system is not exactly 20 line console program, there is an MSSQL database, ASP.NET web page and content management system with all the AJAX stuff and some other things. So student straight out of school could have some problems with that. But, I thought about the issue some more, and I think that junior developer is a tricky deal, without mentoring, he can either screw up royally, or just do what's asked. Also, it seems no one is coming to interviews at all, which is weird, or maybe not. What should I suggest them?

    Read the article

  • Desktop speakers with headphone port and separate volume controls

    - by Kevin L.
    I currently use the excellent Logitech X-230 desktop speaker/subwoofer set, which I love for the volume dial on the front which gives me a nice, quick, tactile control of my sound without requiring a remote or keyboard buttons or some awkward software slider. Additionally, there's a very convenient headphone jack right next to the volume dial but the volume dial only controls the speakers, leaving the headphones at full volume. The goal is to be able to adjust the sound in my headphones without having to fumble around and find an inline headphone volume control (and my current favorite pair doesn't even have one). Is anyone aware of a desktop speaker set that has convenient volume controls for both levels?

    Read the article

  • Installing qt headers and libraries

    - by ant2009
    Hello, Ubuntu 9.10 2.6.31-20-generic I am trying to install some software. When I do the ./configure. I get the following error: checking for Qt... configure: error: Qt (>= Qt 3.0.2) (headers and libraries) not found. Please check your installation! So I install the following package thinking this would solve the problem. sudo apt-get install libqt4-dev I was thinking that the libqt4-dev would install the headers and libraries. However, I am still getting the same problem. Any ideas? Many thanks,

    Read the article

  • unable remove/reinstall libxss1:amd

    - by mono
    Whenever I try to install anything (software-center or apt-get) I get an error report stating that libxss1:amd is in a "very bad inconsistent state" (translated from german) and that I should reinstall it. That would not bother me much but I am never sure if the stuff I'm trying will be working in the end. It really resists from being repaired apt-get install, apt-get remove, apt-get -f install, and all the usual suspects - nothing works. It always comes to: dpkg: Fehler beim Bearbeiten von libxss1:amd64 (--configure): Paket ist in einem sehr schlechten inkonsistenten Zustand - Sie sollten es nochmal installieren, bevor Sie die Konfiguration versuchen. Fehler traten auf beim Bearbeiten von: libxss1:amd64 E: Sub-process /usr/bin/dpkg returned an error code (1) I posted the error as is, since my translation might not be exact. But I guess you can figure from my text. I found out that this file is the X screen saver. Maybe I should kill it before handling that file. If thats so, than please tell me how. Thanks for your help, thomas

    Read the article

  • Procedual level generation for a platformer game (tilebased) using player physics

    - by Notbad
    I have been searching for information about how to build a 2d world generator (tilebased) for a platformer game I am developing. The levels should look like dungeons with a ceiling and a floor and they will have a high probability of being just made of horizontal rooms but sometimes they can have exits to a top/down room. Here is an example of what I would like to achieve. I'm refering only to the caves part. I know level design won't be that great when generated but I think it is possible to have something good enough for people to enjoy the procedural maps (Note: Supermetrod Spoiler!): http://www.snesmaps.com/maps/SuperMetroid/SuperMetroidMapNorfair.html Well, after spending some time thinking about this I have some ideas to create the maps that I would like to share with you: 1) I have read about celular automatas and I would like to use them to carve the rooms but instead of carving just a tile at once I would like to carve full columns of tiles. Of course this carving system will have some restrictions like how many tiles must be left for the roof and the ceiling, etc... This way I could get much cleaner rooms than using the ussual automata. 2) I want some branching into the rooms. It will have little probability to happen but I definitely want it. Thinking about carving I came to the conclusion that I could be using some sort of path creation algorithm that the carving system would follow to create a path in the rooms. This could be more noticiable if we make the carving system to carve columns with the height of a corridor or with the height of a wide room (this will be added to the system as a param). This way at some point I could spawn a new automa beside the main one to create braches. This new automata should play side by side with the first one to create dead ends, islands (both paths created by the automatas meet at some point or lead to the same room. It would be too long to explain here all the tests I have done, etc... just will try to summarize the problems to see if anyone could bring some light to solve them (I don't mind sharing my successes but I think they aren't too relevant): 1) Zone reachability: How can I make sure that the player will be able to reach all zones I created (mainly when branches happen or vertical rooms are created). When branches are created I have to make sure that there will be a way to get onto the new created branch. I mean a bifurcation that the player could follow. Player will follow the main path or jump to a platform to get onto the other way). On the other hand if an island is created by the meeting of both branches I need to make sure the player will be able to get onto the island too. 2) When a branch is created and corridors are generated for each branch how can I make then both merge or repel to create an island or just make them separated corridors. 3) When I create a branch and an island is created becasue both corridors merge at somepoint or they lead to the same room, is there any way to detect this and randomize where to create the needed platforms to get onto the created isle? This platforms could be created at the start of the island or at the end. I guess part of the problem could be solved using some sort of graph following the created paths but I'm a bit lost in this sea of precedural content creation :). On the other hand I don't expect a solution to the problem but some information to get me moving forward again. Thanks in advance.

    Read the article

  • Communicate from PC in internet to remote GSM device

    - by Jakub Jezik
    I have several remote devices that use GSM modem and gather data. I need to communicate with those devices from a PC station located in a office using the dial up connection. Is there a way to do this WITHOUT an additional GSM modem connected to that PC? Is there some way to accomplish PC to remote GSM device communication using e.g. VoIP or similar technology? I want to avoid installing an additional GSM modem in the office and use some software solution instead.

    Read the article

  • How do I start working as a programmer - what do I need?

    - by giorgo
    Hello, i am currently learning Java and PHP as I have some projects from university, which require me to apply both languages. Specifically, a Java GUI application, connecting to a MySQL database and a web application that will be implemented in PHP/MySQL. I have started learning the MVC pattern, Struts, Spring and I am also learning PHP with zend. My first question is: How can I find employment as a programmer/software engineer? The reason I ask is because I have sent my CV into many companys, but all of them stated that I required work experience. I really need some guidance on how to improve my career opportunites. At present, I work on my own and haven't worked in collaboration with anyone on a particular project. I'm assuming most people create projects and submit them along with their CVs. My second question is: Everyone has to make a start from somewhere, but what if this somewhere doesn't come? What do I need to do to create the circumstances where I can easily progress forward? Thanks

    Read the article

  • Capture documents in bitonal, or grayscale then downsample

    - by Jason R. Coombs
    I'm about to embark on a document archival process. I'm going to spend a lot of good money to archive some paper (actually microfiche) to TIFF images. I have a choice of 300-dpi bitonal (2-bit, black/white) or 300-dpi grayscale (8-bit). Cost is the same for either format. Data volume (and thus image size) is not a factor. It seems to me that the grayscale, since scanned at the same resolution as the bitonal, would always contain more information and could always be downsampled to the equivalent bitonal image. Are there any downsides to selecting grayscale, and then later downsampling to bitonal if desired? In other words, is it possible that the scanning software will perform a more accurate (or more legible) representation than a grayscale image converted to bitonal?

    Read the article

  • How can I change the subject of messages on an Exchange server automatically?

    - by Chris R
    I want to do something more than just normal mail - folder rules; I want to put a layer in front of my exchange server that lets me, for example, rewrite subjects into a more readable form. I get automated messages whose subject format makes them almost useless. Changing the emitting software is not going to happen, so I need to do something client side. I'm interested in anything that would allow me to do this, either on a mac, or on an older linux distro. Preferably the latter, and preferably in a way that I can turn on and forget about.

    Read the article

  • Connecting via ShrewSoft VPN client means no LAN internet access (Windows 7 64 bit) - any advice please?

    - by iwishiknewmoreaboutnetworking
    I have a Windows 7 64 bit desktop machine which is connected to a LAN. I recently installed ShrewSoft VPN client v 2.1.7 on my machine so that I can connect to a license server hosted by my customer. They are running a Cisco VPN server and I originally tried (unsuccessfully!) to use the Cisco VPN client for Windows 64 bit but the default gateway wasn't being configured correctly after loading in my pcf file. Using ShrewSoft I am able to import the same pcf file, and successfully connect to the machine I need to using the VPN client software. The client machine I need to connect to has IP address 1.52.90.33. The problem is that when I am connected to the customer network using the VPN client application (and after a few minutes) I lose my LAN internet connection. I can only presume that this is because, by default the ShrewSoft VPN client application automatically tunnels all traffic through the VPN connection. I know there is an option to switch off the "Tunnel All" option on the Policy tab of the application and enter a Remote Network Resource (to "Include" or "Exclude") as "Address" and "Netmask" IP addresses however I am not sure what I need to enter here. Here is my ipconfig output before connecting to the VPN (with suffixes blanked out): Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : ***.*** Link-local IPv6 Address . . . . . : fe80::8de3:9dbe:393a:33ba%11 IPv4 Address. . . . . . . . . . . : 150.237.13.17 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 150.237.13.1 Tunnel adapter 6TO4 Adapter: Connection-specific DNS Suffix . : ***.*** IPv6 Address. . . . . . . . . . . : 2002:96ed:d11::96ed:d11 Default Gateway . . . . . . . . . : 2002:c058:6301::c058:6301 Tunnel adapter Local Area Connection* 9: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:0:4137:9e76:2cf9:38c4:6912:f2ee Link-local IPv6 Address . . . . . : fe80::2cf9:38c4:6912:f2ee%12 Default Gateway . . . . . . . . . : Tunnel adapter isatap.***.***: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : ***.*** Here is my route print output before connecting to the VPN: =========================================================================== Interface List 11...20 cf 30 9d ec 2a ......Realtek RTL8168D/8111D Family PCI-E Gigabit Ethern et NIC (NDIS 6.20) 1...........................Software Loopback Interface 1 14...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter 12...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface 13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2 =========================================================================== IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 150.237.13.1 150.237.13.17 2 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 150.237.13.0 255.255.255.0 On-link 150.237.13.17 257 150.237.13.17 255.255.255.255 On-link 150.237.13.17 257 150.237.13.255 255.255.255.255 On-link 150.237.13.17 257 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 150.237.13.17 257 255.255.255.255 255.255.255.255 On-link 12

    Read the article

  • Copy files with filter (XP)

    - by fire
    I have a huge folder (over 6GB) with multiple sub-folders that I want to copy onto an external hard drive, however I do not want it to copy any PDF, EXE or ZIP files across to save space. Is there any software that will help me achieve this? I have looked at TeraCopy but this doesn't seem to have any filter mechanism on it. I am using Windows XP (* sigh *). *edit: found the xcopy command, will this do it? Can anyone help me with the syntax?

    Read the article

  • I would like to have a publicly accessable linux box hosted elsewhere. Who provides this service?

    - by Eric Wilson
    I would like to have a general purpose linux server available and publicly accessible. I understand that there are no lack of web-hosting companies, but I might want more control over the machine than is typical. I would want the ability to install software, such as an SVN server, and I would like to be able to expose various port numbers, as I may have a variety of extremely low traffic sites that I would want to have available. Obviously, one option is to host such a machine in my home. Is that my only option? Or is what I describe out there, possible as a virtual machine on a larger server?

    Read the article

  • High-res icon in Windows Vista alt-tab thumbnail preview?

    - by netvope
    I have customized my alt-tab screen with the following: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AltTab] "OverlayIconPx"=dword:00000040 "MaxThumbSizePx"=dword:00000100 "MinThumbSizePcent"=dword:00000064 It works great: the thumbnail becomes 256 pixel wide and the icon at the corner of the thumbnail becomes 64x64 pixels. However, Windows doesn't load the high-res icons from the programs; instead, it uses the 16x16 pixel icon and scaled it up by nearest-neighbor. I'm sure the programs has high-res icons because I saw them with in "Extra Large Icon" view in Explorer. So the question is: How can I force Windows to load the high-res icons for the alt-tab thumbnail preview? (Perhaps a registry key, or a .dll hack/injection?)

    Read the article

  • How to avoid to be employed by companies which are candidates to DailyWTF stories?

    - by MainMa
    I'm reading The Daily WTF archives and especially those stories about IT-related companies which have a completely wrong approach of software development, the job of a developer, etc. Some stories are totally horrible: a company don't have a local network for security reasons, another one has a source control server which can only be accessed by the manager, etc. Add to it all those stories about managers who don't know anything about their work and make stupid decisions without listening to anybody. The thing is that I don't see how to know if you will be employed by such company during an interview. Of course, sometimes, an interviewer tells weird things which gives you an idea that something goes very wrong with the company (in my case, the last manager said I should work 100% of my time through Remote Desktop, connected to on an old and slooooow machine, because "it avoids several people to modify the same source code"; maybe I should explain him what SVN is). But in most cases, you will be unable to get enough information during the interview to get the exact image of a company. So how to avoid being employed by this sort of companies? I thought about asking to see some documents like documentation guide or code style guidelines. The problem is that I live in France, and here, most of the companies don't have those documents at all, and in the rare cases where those documents exist, they are outdated, poorly written, never used, or do force you to make things that don't make any sense. I also thought about asking to see how programmers actually work. But seeing that they have dual screens or "late-modern-artsy-fartsy furnishings" doesn't mean that they don't have people making weird decisions, making it impossible to work there. Have you been in such situations? What have you tried? Have it worked?

    Read the article

  • Dependency error while installing WINE

    - by pgrytdal
    Every time I try to install "WINE" VIA the Software Center on Ubuntu 12.10, I get this error: The following packages have unmet dependencies: wine1.4: PreDepends: dpkg (>= 1.15.7.2~) but 1.16.7ubuntu6 is to be installed Depends: libc6 (>= 2.14) but 2.15-0ubuntu20 is to be installed Depends: wine1.4-amd64 (= 1.4.1-0ubuntu1) but 1.4.1-0ubuntu1 is to be installed Depends: wine1.4-i386 (= 1.4.1-0ubuntu1) but it is not going to be installed When I try installing it VIA the terminal, this is what I get: Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: wine1.4 : Depends: wine1.4-i386 (= 1.4.1-0ubuntu1) but it is not installable Recommends: gnome-exe-thumbnailer but it is not going to be installed or kde-runtime but it is not going to be installed Recommends: ttf-droid Recommends: ttf-mscorefonts-installer but it is not going to be installed Recommends: ttf-umefont but it is not going to be installed Recommends: ttf-unfonts-core but it is not going to be installed Recommends: winbind but it is not going to be installed Recommends: winetricks but it is not going to be installed E: Unable to correct problems, you have held broken packages. how do I fix this?

    Read the article

  • Internet printing : print to iOS gateway -> AirPrint / something -> Laser printers

    - by user75129
    I've done a bit of research on the Internet, and it looks like I'm on a dead end. My goal is to minimize cost, and be able to send and print documents AUTOMATICALLY (may be 10 or 20 pages per day) to a laser printer in a remote office. The preliminary method is to use: iOS 5.1.1 (JB'ed) with 3G connection, HP (or other brands) printer with AirPrint, iCloud's Documents and may be write some launchd scripts to monitor any new documents in iCloud. May be with other software. I am not sure yet. By using the cloud, I can upload new docs to the cloud anywhere in my city, and the iOS will be able to see them within a reasonable amount of time, then print it. But it seems this combo is not workable. Anyone got any advice on how to make this set up work, or propose other alternatives that requires NO PC or Mac? Currently I have a 3GS with 3G connectivity spare. Need to buy a new printer though.

    Read the article

  • Server responses "bus error" to every command

    - by Temnovit
    I have a linux machine dedicated to MySQL server with a pretty high load. Today I woke up and was terrified to see, that database server is down. I could connect to it via SSH, but it was responding with bus error to each and every command. [root@r1304 home]# ls Bus error [root@r1304 home]# tail /var/log/messages Bus error [root@r1304 home]# reboot Bus error [root@r1304 home]# free -m Bus error [root@r1304 home]# chkdisk Bus error I went to Data Center and did a hard reset, which seemed to help, but after a half an hour situation reapeated and now I can't even connet via SSH anymore. Any ideas what this could be? how to diagnose such a problem and what are possible fixes? Server has 32 GB RAM, 2xSSD drives with software RAID UPDATE According to Zabbix, when MySQL died, number of processes stated to increase drammaticaly, until I did a hard reset. What could those be? Number of processes

    Read the article

  • Implementing a Custom Coherence PartitionAssignmentStrategy

    - by jpurdy
    A recent A-Team engagement required the development of a custom PartitionAssignmentStrategy (PAS). By way of background, a PAS is an implementation of a Java interface that controls how a Coherence partitioned cache service assigns partitions (primary and backup copies) across the available set of storage-enabled members. While seemingly straightforward, this is actually a very difficult problem to solve. Traditionally, Coherence used a distributed algorithm spread across the cache servers (and as of Coherence 3.7, this is still the default implementation). With the introduction of the PAS interface, the model of operation was changed so that the logic would run solely in the cache service senior member. Obviously, this makes the development of a custom PAS vastly less complex, and in practice does not introduce a significant single point of failure/bottleneck. Note that Coherence ships with a default PAS implementation but it is not used by default. Further, custom PAS implementations are uncommon (this engagement was the first custom implementation that we know of). The particular implementation mentioned above also faced challenges related to managing multiple backup copies but that won't be discussed here. There were a few challenges that arose during design and implementation: Naive algorithms had an unreasonable upper bound of computational cost. There was significant complexity associated with configurations where the member count varied significantly between physical machines. Most of the complexity of a PAS is related to rebalancing, not initial assignment (which is usually fairly simple). A custom PAS may need to solve several problems simultaneously, such as: Ensuring that each member has a similar number of primary and backup partitions (e.g. each member has the same number of primary and backup partitions) Ensuring that each member carries similar responsibility (e.g. the most heavily loaded member has no more than one partition more than the least loaded). Ensuring that each partition is on the same member as a corresponding local resource (e.g. for applications that use partitioning across message queues, to ensure that each partition is collocated with its corresponding message queue). Ensuring that a given member holds no more than a given number of partitions (e.g. no member has more than 10 partitions) Ensuring that backups are placed far enough away from the primaries (e.g. on a different physical machine or a different blade enclosure) Achieving the above goals while ensuring that partition movement is minimized. These objectives can be even more complicated when the topology of the cluster is irregular. For example, if multiple cluster members may exist on each physical machine, then clearly the possibility exists that at certain points (e.g. following a member failure), the number of members on each machine may vary, in certain cases significantly so. Consider the case where there are three physical machines, with 3, 3 and 9 members each (respectively). This introduces complexity since the backups for the 9 members on the the largest machine must be spread across the other 6 members (to ensure placement on different physical machines), preventing an even distribution. For any given problem like this, there are usually reasonable compromises available, but the key point is that objectives may conflict under extreme (but not at all unlikely) circumstances. The most obvious general purpose partition assignment algorithm (possibly the only general purpose one) is to define a scoring function for a given mapping of partitions to members, and then apply that function to each possible permutation, selecting the most optimal permutation. This would result in N! (factorial) evaluations of the scoring function. This is clearly impractical for all but the smallest values of N (e.g. a partition count in the single digits). It's difficult to prove that more efficient general purpose algorithms don't exist, but the key take away from this is that algorithms will tend to either have exorbitant worst case performance or may fail to find optimal solutions (or both) -- it is very important to be able to show that worst case performance is acceptable. This quickly leads to the conclusion that the problem must be further constrained, perhaps by limiting functionality or by using domain-specific optimizations. Unfortunately, it can be very difficult to design these more focused algorithms. In the specific case mentioned, we constrained the solution space to very small clusters (in terms of machine count) with small partition counts and supported exactly two backup copies, and accepted the fact that partition movement could potentially be significant (preferring to solve that issue through brute force). We then used the out-of-the-box PAS implementation as a fallback, delegating to it for configurations that were not supported by our algorithm. Our experience was that the PAS interface is quite usable, but there are intrinsic challenges to designing PAS implementations that should be very carefully evaluated before committing to that approach.

    Read the article

< Previous Page | 818 819 820 821 822 823 824 825 826 827 828 829  | Next Page >